Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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; } } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ExceptionTrace.cs
- Popup.cs
- ConfigurationSectionCollection.cs
- SendKeys.cs
- CounterCreationDataCollection.cs
- WebPartConnectionsConnectVerb.cs
- DeviceFiltersSection.cs
- oledbmetadatacollectionnames.cs
- RemoteWebConfigurationHostServer.cs
- indexingfiltermarshaler.cs
- ProgressBarRenderer.cs
- _SpnDictionary.cs
- SpeechUI.cs
- ReadOnlyDictionary.cs
- CommandID.cs
- MemoryRecordBuffer.cs
- FigureParagraph.cs
- SqlServer2KCompatibilityAnnotation.cs
- Cursor.cs
- ProgressPage.cs
- TextDecoration.cs
- LabelEditEvent.cs
- WebPartMovingEventArgs.cs
- WorkBatch.cs
- AsymmetricKeyExchangeDeformatter.cs
- FolderBrowserDialogDesigner.cs
- HandlerBase.cs
- FunctionMappingTranslator.cs
- ServiceOperation.cs
- SchemaElementDecl.cs
- CompositeDataBoundControl.cs
- Fx.cs
- EmbeddedObject.cs
- FlowDocumentScrollViewer.cs
- InkSerializer.cs
- PersistenceTypeAttribute.cs
- OrderedEnumerableRowCollection.cs
- VScrollProperties.cs
- SystemTcpStatistics.cs
- Monitor.cs
- DeviceContext.cs
- WsdlInspector.cs
- ADRoleFactoryConfiguration.cs
- DbCommandTree.cs
- linebase.cs
- SizeChangedInfo.cs
- HttpHandler.cs
- MsmqInputSessionChannelListener.cs
- FixedNode.cs
- CustomCategoryAttribute.cs
- MeasurementDCInfo.cs
- DataGridTableCollection.cs
- GridViewCommandEventArgs.cs
- httpapplicationstate.cs
- XmlTextAttribute.cs
- XmlSerializationGeneratedCode.cs
- TrackingProfileManager.cs
- WpfWebRequestHelper.cs
- DisplayInformation.cs
- TextServicesHost.cs
- UriWriter.cs
- MsmqHostedTransportManager.cs
- ExitEventArgs.cs
- XmlFormatReaderGenerator.cs
- ApplicationContext.cs
- DateTimeFormatInfoScanner.cs
- Parameter.cs
- AbstractSvcMapFileLoader.cs
- typedescriptorpermissionattribute.cs
- MetafileHeaderWmf.cs
- AnimatedTypeHelpers.cs
- CapacityStreamGeometryContext.cs
- ContextStack.cs
- MeasureItemEvent.cs
- InternalConfigConfigurationFactory.cs
- ConfigXmlElement.cs
- DataGridColumnHeaderCollection.cs
- CreatingCookieEventArgs.cs
- ControlParameter.cs
- Viewport3DAutomationPeer.cs
- TextEditorSelection.cs
- NumericUpDownAcceleration.cs
- StylusButtonEventArgs.cs
- AttributeCollection.cs
- Trace.cs
- PropertyCollection.cs
- WebPartZoneDesigner.cs
- WebPartZoneBase.cs
- StringUtil.cs
- PopupEventArgs.cs
- ColumnReorderedEventArgs.cs
- ClientEventManager.cs
- DataGridRowHeaderAutomationPeer.cs
- DataBindingExpressionBuilder.cs
- ProcessRequestAsyncResult.cs
- CodeExpressionStatement.cs
- SQLMembershipProvider.cs
- XamlBuildTaskServices.cs
- ColorContextHelper.cs
- BufferedGraphicsManager.cs