Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- RequestChannel.cs
- SafeThreadHandle.cs
- DocumentApplicationJournalEntryEventArgs.cs
- RectAnimationBase.cs
- AncestorChangedEventArgs.cs
- Array.cs
- KnownTypes.cs
- State.cs
- SafeProcessHandle.cs
- ObjectIDGenerator.cs
- FixedSOMTableCell.cs
- DataControlFieldCollection.cs
- ResumeStoryboard.cs
- InstanceOwnerQueryResult.cs
- WindowsScroll.cs
- FactoryRecord.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- PolicyStatement.cs
- PartialCachingAttribute.cs
- WindowHideOrCloseTracker.cs
- XmlDataContract.cs
- RoleProviderPrincipal.cs
- SystemWebExtensionsSectionGroup.cs
- TokenBasedSetEnumerator.cs
- WebPartUserCapability.cs
- ComponentSerializationService.cs
- WindowsGraphicsWrapper.cs
- MachineKeyConverter.cs
- QilTargetType.cs
- SymbolType.cs
- PtsPage.cs
- DataGridViewColumnCollectionEditor.cs
- Error.cs
- ThumbAutomationPeer.cs
- ResourcePool.cs
- IssuerInformation.cs
- SingleStorage.cs
- XmlWrappingReader.cs
- ToolStrip.cs
- OletxResourceManager.cs
- FixedSOMPage.cs
- DocobjHost.cs
- ImageDesigner.cs
- DocumentReferenceCollection.cs
- SqlTriggerAttribute.cs
- ListViewHitTestInfo.cs
- DataGridViewRowPrePaintEventArgs.cs
- SpellerError.cs
- SQLDateTimeStorage.cs
- VisualBrush.cs
- ViewCellRelation.cs
- ManagementInstaller.cs
- ButtonFieldBase.cs
- TdsParserStaticMethods.cs
- Parser.cs
- SystemWebCachingSectionGroup.cs
- Page.cs
- SafeRegistryHandle.cs
- ParsedAttributeCollection.cs
- PhonemeConverter.cs
- TextTabProperties.cs
- UInt64.cs
- CombinedHttpChannel.cs
- InternalPermissions.cs
- TemplatedWizardStep.cs
- XPathDocumentIterator.cs
- Visual.cs
- SignedXmlDebugLog.cs
- cryptoapiTransform.cs
- BamlLocalizer.cs
- TransactionInformation.cs
- TraceSection.cs
- UnaryExpression.cs
- SlipBehavior.cs
- TemplateDefinition.cs
- XmlCodeExporter.cs
- CheckPair.cs
- WbemProvider.cs
- ElementUtil.cs
- DerivedKeyCachingSecurityTokenSerializer.cs
- PropertyPathConverter.cs
- FontStretches.cs
- ExecutionProperties.cs
- HealthMonitoringSectionHelper.cs
- PropertyGeneratedEventArgs.cs
- ColorConverter.cs
- ScrollChangedEventArgs.cs
- DebugHandleTracker.cs
- XmlSchemaCollection.cs
- RawUIStateInputReport.cs
- ControlValuePropertyAttribute.cs
- GACMembershipCondition.cs
- ProxyWebPartConnectionCollection.cs
- COM2PropertyPageUITypeConverter.cs
- PropertyGeneratedEventArgs.cs
- NavigatorInput.cs
- EntryWrittenEventArgs.cs
- XPathAncestorQuery.cs
- TableCellAutomationPeer.cs
- IssuanceLicense.cs