Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / WebControls / FilteredDataSetHelper.cs / 2 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UdpDiscoveryEndpointProvider.cs
- XmlSchemaComplexType.cs
- _AutoWebProxyScriptEngine.cs
- SiblingIterators.cs
- CacheHelper.cs
- APCustomTypeDescriptor.cs
- Pair.cs
- ButtonAutomationPeer.cs
- LifetimeServices.cs
- Int64Animation.cs
- DynamicActionMessageFilter.cs
- DictionaryManager.cs
- MemoryMappedViewStream.cs
- MultiPageTextView.cs
- ScrollChrome.cs
- AmbientProperties.cs
- XmlChildEnumerator.cs
- FirewallWrapper.cs
- CngAlgorithmGroup.cs
- LongCountAggregationOperator.cs
- SqlAliaser.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- ProtocolProfile.cs
- ToolTip.cs
- DbProviderFactories.cs
- WarningException.cs
- dtdvalidator.cs
- DocumentEventArgs.cs
- XmlDownloadManager.cs
- ThreadStaticAttribute.cs
- CqlWriter.cs
- EntityDataSourceSelectedEventArgs.cs
- EventLogger.cs
- AudioLevelUpdatedEventArgs.cs
- WebMessageBodyStyleHelper.cs
- FontNamesConverter.cs
- CellConstant.cs
- DragCompletedEventArgs.cs
- PauseStoryboard.cs
- DataGridCell.cs
- ImageListStreamer.cs
- Emitter.cs
- WindowProviderWrapper.cs
- CSharpCodeProvider.cs
- DbConnectionPoolIdentity.cs
- VScrollBar.cs
- SQlBooleanStorage.cs
- MenuAutomationPeer.cs
- PtsCache.cs
- WorkflowInstanceQuery.cs
- SingleStorage.cs
- DataTemplate.cs
- DigitShape.cs
- EpmSyndicationContentSerializer.cs
- XmlNamespaceMapping.cs
- RequiredFieldValidator.cs
- HtmlShimManager.cs
- TypeReference.cs
- CustomAttributeSerializer.cs
- SchemaImporterExtensionElement.cs
- ObjectAnimationBase.cs
- DrawingContextDrawingContextWalker.cs
- RowParagraph.cs
- Helpers.cs
- SystemFonts.cs
- BitmapVisualManager.cs
- DataGridHyperlinkColumn.cs
- TemplateControlCodeDomTreeGenerator.cs
- SqlDataReaderSmi.cs
- ProtocolsSection.cs
- UserControlAutomationPeer.cs
- Nullable.cs
- SerializationException.cs
- GeneralTransform3DGroup.cs
- ObjectListDataBindEventArgs.cs
- EllipticalNodeOperations.cs
- CellPartitioner.cs
- SymbolType.cs
- CodeGenerator.cs
- OuterGlowBitmapEffect.cs
- XmlValidatingReaderImpl.cs
- VersionedStreamOwner.cs
- DeclarativeCatalogPartDesigner.cs
- ConstructorArgumentAttribute.cs
- PenCursorManager.cs
- Rfc4050KeyFormatter.cs
- UrlAuthorizationModule.cs
- WebDisplayNameAttribute.cs
- StateWorkerRequest.cs
- FileDataSourceCache.cs
- Calendar.cs
- ImageListStreamer.cs
- SqlError.cs
- DesignerView.Commands.cs
- Page.cs
- COM2ExtendedBrowsingHandler.cs
- ObjectDataSourceEventArgs.cs
- CatalogPartChrome.cs
- PersonalizationAdministration.cs
- XmlException.cs