Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebControls / FilteredDataSetHelper.cs / 1305376 / FilteredDataSetHelper.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Globalization;
using System.Web.Util;
///
/// Helper class for SqlDataSource and ObjectDataSource.
///
internal static class FilteredDataSetHelper {
public static DataView CreateFilteredDataView(DataTable table, string sortExpression, string filterExpression, IDictionary filterParameters) {
Debug.Assert(table != null, "Did not expect null table");
Debug.Assert(sortExpression != null, "Did not expect null sort expression");
Debug.Assert(filterExpression != null, "Did not expect null filter expression");
DataView dv = new DataView(table);
// Set sort expression
if (!String.IsNullOrEmpty(sortExpression)) {
dv.Sort = sortExpression;
}
// Set filter expression
if (!String.IsNullOrEmpty(filterExpression)) {
bool hasNulls = false;
Debug.Assert(filterParameters != null, "Did not expect null filter parameters when a filter expression was set");
object[] values = new object[filterParameters.Count];
int index = 0;
foreach (DictionaryEntry de in filterParameters) {
if (de.Value == null) {
hasNulls = true;
break;
}
values[index] = de.Value;
index++;
}
filterExpression = String.Format(CultureInfo.InvariantCulture, filterExpression, values);
// Filter expression should only be applied if there were no null parameters
if (!hasNulls) {
dv.RowFilter = filterExpression;
}
}
return dv;
}
public static DataTable GetDataTable(Control owner, object dataObject) {
DataSet dataSet = dataObject as DataSet;
if (dataSet != null) {
if (dataSet.Tables.Count == 0) {
throw new InvalidOperationException(SR.GetString(SR.FilteredDataSetHelper_DataSetHasNoTables, owner.ID));
}
return dataSet.Tables[0];
}
else {
return dataObject as DataTable;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Globalization;
using System.Web.Util;
///
/// Helper class for SqlDataSource and ObjectDataSource.
///
internal static class FilteredDataSetHelper {
public static DataView CreateFilteredDataView(DataTable table, string sortExpression, string filterExpression, IDictionary filterParameters) {
Debug.Assert(table != null, "Did not expect null table");
Debug.Assert(sortExpression != null, "Did not expect null sort expression");
Debug.Assert(filterExpression != null, "Did not expect null filter expression");
DataView dv = new DataView(table);
// Set sort expression
if (!String.IsNullOrEmpty(sortExpression)) {
dv.Sort = sortExpression;
}
// Set filter expression
if (!String.IsNullOrEmpty(filterExpression)) {
bool hasNulls = false;
Debug.Assert(filterParameters != null, "Did not expect null filter parameters when a filter expression was set");
object[] values = new object[filterParameters.Count];
int index = 0;
foreach (DictionaryEntry de in filterParameters) {
if (de.Value == null) {
hasNulls = true;
break;
}
values[index] = de.Value;
index++;
}
filterExpression = String.Format(CultureInfo.InvariantCulture, filterExpression, values);
// Filter expression should only be applied if there were no null parameters
if (!hasNulls) {
dv.RowFilter = filterExpression;
}
}
return dv;
}
public static DataTable GetDataTable(Control owner, object dataObject) {
DataSet dataSet = dataObject as DataSet;
if (dataSet != null) {
if (dataSet.Tables.Count == 0) {
throw new InvalidOperationException(SR.GetString(SR.FilteredDataSetHelper_DataSetHasNoTables, owner.ID));
}
return dataSet.Tables[0];
}
else {
return dataObject as DataTable;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EventSource.cs
- RequestCache.cs
- CursorConverter.cs
- DataGridCell.cs
- EntityDataSourceUtil.cs
- sqlcontext.cs
- MetadataArtifactLoaderCompositeResource.cs
- Assert.cs
- MessageQueueCriteria.cs
- ToolStripPanelRenderEventArgs.cs
- RadioButtonAutomationPeer.cs
- _NegoStream.cs
- CellQuery.cs
- TemplateEditingFrame.cs
- ImageSourceConverter.cs
- SqlFunctions.cs
- ValidatingCollection.cs
- _LocalDataStore.cs
- BamlStream.cs
- DataGridViewRow.cs
- SafeNativeMethods.cs
- HierarchicalDataSourceControl.cs
- EllipseGeometry.cs
- EventMemberCodeDomSerializer.cs
- SerialErrors.cs
- GradientBrush.cs
- HostExecutionContextManager.cs
- Base64Decoder.cs
- RadioButtonFlatAdapter.cs
- codemethodreferenceexpression.cs
- SystemUdpStatistics.cs
- SqlStream.cs
- Directory.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- ClientBase.cs
- StateFinalizationDesigner.cs
- bindurihelper.cs
- _RequestCacheProtocol.cs
- OutputChannelBinder.cs
- RequestCachePolicy.cs
- TimeSpanFormat.cs
- EventProviderWriter.cs
- ResXResourceSet.cs
- Span.cs
- BinaryObjectInfo.cs
- MetaModel.cs
- ColorDialog.cs
- JpegBitmapEncoder.cs
- IEnumerable.cs
- AxisAngleRotation3D.cs
- VirtualPathProvider.cs
- AliasedSlot.cs
- SHA512Managed.cs
- WorkflowApplicationCompletedException.cs
- ConstraintConverter.cs
- ListViewSelectEventArgs.cs
- HelpKeywordAttribute.cs
- XmlSiteMapProvider.cs
- LinkButton.cs
- NonParentingControl.cs
- JsonSerializer.cs
- CustomWebEventKey.cs
- ExpressionBuilderCollection.cs
- HostingEnvironmentWrapper.cs
- NumericUpDownAcceleration.cs
- TableDetailsRow.cs
- SortAction.cs
- DesignerActionMethodItem.cs
- ImageFormatConverter.cs
- Stack.cs
- CommandDevice.cs
- IpcClientManager.cs
- StatusBar.cs
- EnvironmentPermission.cs
- LocatorPart.cs
- OracleParameterCollection.cs
- MessageFilterTable.cs
- Visitors.cs
- WebPartMovingEventArgs.cs
- DelayedRegex.cs
- StartUpEventArgs.cs
- StateMachineWorkflow.cs
- Input.cs
- ReaderWriterLock.cs
- CompletionBookmark.cs
- Main.cs
- HttpPostedFileWrapper.cs
- TextSimpleMarkerProperties.cs
- TcpDuplicateContext.cs
- TreePrinter.cs
- StylusEventArgs.cs
- Currency.cs
- MenuItemStyle.cs
- DataSourceCacheDurationConverter.cs
- DataSetSchema.cs
- WebResponse.cs
- FutureFactory.cs
- XamlStyleSerializer.cs
- MarkupExtensionReturnTypeAttribute.cs
- embossbitmapeffect.cs