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
- ProfileSettingsCollection.cs
- XamlVector3DCollectionSerializer.cs
- OrderedDictionary.cs
- MetadataConversionError.cs
- CompilationUtil.cs
- LinkArea.cs
- ProfileGroupSettingsCollection.cs
- ISFTagAndGuidCache.cs
- xmlfixedPageInfo.cs
- Point3DCollection.cs
- Stopwatch.cs
- EditorPartChrome.cs
- Label.cs
- XmlSerializerSection.cs
- SuppressedPackageProperties.cs
- X509CertificateRecipientClientCredential.cs
- List.cs
- CodeParameterDeclarationExpression.cs
- TreeView.cs
- OdbcCommandBuilder.cs
- TextServicesCompartmentEventSink.cs
- Vector3DValueSerializer.cs
- DataSetUtil.cs
- PasswordDeriveBytes.cs
- TimelineGroup.cs
- AuthenticationService.cs
- DesignerView.cs
- XPathAncestorIterator.cs
- EventLog.cs
- JobPageOrder.cs
- XmlSerializerSection.cs
- UIPermission.cs
- MainMenu.cs
- SqlDataSourceSummaryPanel.cs
- WebPartCancelEventArgs.cs
- FrameSecurityDescriptor.cs
- ContentElement.cs
- QueryConverter.cs
- SiteMapNodeItemEventArgs.cs
- SchemaDeclBase.cs
- FixedPageAutomationPeer.cs
- PlatformCulture.cs
- MultiSelectRootGridEntry.cs
- SqlTypeConverter.cs
- WaitHandle.cs
- SemanticBasicElement.cs
- FixedSchema.cs
- TypePresenter.xaml.cs
- ProfileGroupSettings.cs
- CuspData.cs
- BamlStream.cs
- DataMemberAttribute.cs
- ImageListImageEditor.cs
- DiscoveryEndpointValidator.cs
- AnnotationService.cs
- PointCollection.cs
- ContainerParagraph.cs
- TableLayoutStyle.cs
- ViewBase.cs
- AssemblyBuilder.cs
- WindowsSysHeader.cs
- AuthenticationService.cs
- HwndKeyboardInputProvider.cs
- CodeDesigner.cs
- MenuItemStyle.cs
- CodeDirectoryCompiler.cs
- KeyBinding.cs
- GeneratedContractType.cs
- Event.cs
- OpenTypeLayout.cs
- SuppressedPackageProperties.cs
- ContentElementAutomationPeer.cs
- SQLChars.cs
- SuppressMergeCheckAttribute.cs
- DataGridTable.cs
- DataGridViewTextBoxCell.cs
- CroppedBitmap.cs
- StylusButtonEventArgs.cs
- TextCollapsingProperties.cs
- TextPointer.cs
- WmfPlaceableFileHeader.cs
- InputQueue.cs
- XPathDocument.cs
- StylusEventArgs.cs
- SoapReflectionImporter.cs
- MemberAccessException.cs
- ImageEditor.cs
- SettingsSection.cs
- TransformerConfigurationWizardBase.cs
- Table.cs
- BaseInfoTable.cs
- DesignerView.Commands.cs
- BoolExpressionVisitors.cs
- CharEnumerator.cs
- CalendarData.cs
- IssuedTokenClientCredential.cs
- Rect3DValueSerializer.cs
- DelegateSerializationHolder.cs
- Matrix3D.cs
- CompositeControl.cs