Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / UI / WebControls / FilteredDataSetHelper.cs / 1 / 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
- MultiSelectRootGridEntry.cs
- Stack.cs
- PageRanges.cs
- RtfFormatStack.cs
- MasterPageCodeDomTreeGenerator.cs
- NextPreviousPagerField.cs
- RawTextInputReport.cs
- InheritanceRules.cs
- DesignerSerializerAttribute.cs
- ConfigWriter.cs
- Misc.cs
- ConditionValidator.cs
- TimeEnumHelper.cs
- ProjectionPruner.cs
- XamlTypeMapper.cs
- IgnorePropertiesAttribute.cs
- JavaScriptSerializer.cs
- SendMessageRecord.cs
- ReadWriteObjectLock.cs
- EditingMode.cs
- DependencyPropertyConverter.cs
- ContentControl.cs
- PropertyItem.cs
- CompositionAdorner.cs
- BitmapFrameDecode.cs
- DoubleLinkListEnumerator.cs
- TextParagraph.cs
- FormViewRow.cs
- LambdaCompiler.Address.cs
- TextElementCollection.cs
- AsyncOperation.cs
- RecognitionEventArgs.cs
- BindingSource.cs
- AndCondition.cs
- GridViewRowCollection.cs
- XslVisitor.cs
- ContactManager.cs
- EntityCommandDefinition.cs
- RequiredFieldValidator.cs
- AutomationElement.cs
- DialogResultConverter.cs
- basevalidator.cs
- WindowsGraphicsCacheManager.cs
- RemotingSurrogateSelector.cs
- Trace.cs
- ConfigXmlAttribute.cs
- SQlBooleanStorage.cs
- DataGridViewAutoSizeModeEventArgs.cs
- PerfCounterSection.cs
- NetworkInterface.cs
- ListMarkerSourceInfo.cs
- RouteCollection.cs
- X509DefaultServiceCertificateElement.cs
- ParallelTimeline.cs
- QuerySettings.cs
- SystemResourceHost.cs
- CacheSection.cs
- EntityDataSourceColumn.cs
- SystemResourceKey.cs
- HttpContextServiceHost.cs
- TcpHostedTransportConfiguration.cs
- GradientStopCollection.cs
- XmlRootAttribute.cs
- CacheForPrimitiveTypes.cs
- MarginsConverter.cs
- TTSEvent.cs
- MeasureItemEvent.cs
- Vector.cs
- PaintValueEventArgs.cs
- CodeCompileUnit.cs
- SqlExpressionNullability.cs
- PlanCompilerUtil.cs
- MemoryStream.cs
- ValidationRuleCollection.cs
- XPathAncestorQuery.cs
- AssertFilter.cs
- ToolStripRenderEventArgs.cs
- BamlRecords.cs
- CompleteWizardStep.cs
- StyleCollection.cs
- ConfigurationPermission.cs
- _HeaderInfoTable.cs
- RangeBase.cs
- MessageQueueAccessControlEntry.cs
- TextRangeSerialization.cs
- FixedSOMLineCollection.cs
- XmlILTrace.cs
- SerializationStore.cs
- BamlLocalizationDictionary.cs
- GridViewHeaderRowPresenter.cs
- EditorZone.cs
- SaveFileDialog.cs
- KeyPressEvent.cs
- MeasureData.cs
- SequenceDesigner.cs
- EntityDataSourceDataSelectionPanel.cs
- PersonalizationProviderCollection.cs
- EncodingInfo.cs
- Typography.cs
- PeerToPeerException.cs