Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / 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. //------------------------------------------------------------------------------ //// 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
- ObjectStateManagerMetadata.cs
- FileReader.cs
- XmlTextReaderImpl.cs
- List.cs
- EventLogTraceListener.cs
- DelegateTypeInfo.cs
- _NegoStream.cs
- LinkConverter.cs
- GradientStop.cs
- AbandonedMutexException.cs
- DebugView.cs
- EpmContentDeSerializer.cs
- SectionInformation.cs
- InstanceContext.cs
- XmlSchemaChoice.cs
- Transform3DGroup.cs
- ApplicationBuildProvider.cs
- MDIClient.cs
- LayoutTableCell.cs
- WindowClosedEventArgs.cs
- ContainerParaClient.cs
- ValuePattern.cs
- DispatchChannelSink.cs
- XmlSchemaAny.cs
- SelectedPathEditor.cs
- GridViewPageEventArgs.cs
- StylusButtonCollection.cs
- DES.cs
- ScopeElementCollection.cs
- DataSetUtil.cs
- DateTimeFormat.cs
- TargetConverter.cs
- OrderingExpression.cs
- DaylightTime.cs
- XamlClipboardData.cs
- ContractNamespaceAttribute.cs
- QueryProcessor.cs
- ResXResourceReader.cs
- SoapIgnoreAttribute.cs
- LockedHandleGlyph.cs
- TaskFactory.cs
- Propagator.Evaluator.cs
- AppSecurityManager.cs
- CustomAttributeFormatException.cs
- SharedUtils.cs
- PageAdapter.cs
- WebPartDisplayModeCollection.cs
- SamlAttribute.cs
- Formatter.cs
- ObjectPropertyMapping.cs
- DataGridHelper.cs
- ContainerUIElement3D.cs
- RightsManagementEncryptedStream.cs
- XmlUtil.cs
- TransformerConfigurationWizardBase.cs
- IdentifierCollection.cs
- PingOptions.cs
- ZoneLinkButton.cs
- UpdateEventArgs.cs
- Type.cs
- LinqExpressionNormalizer.cs
- Serializer.cs
- MethodBody.cs
- ProviderException.cs
- StyleHelper.cs
- ImpersonateTokenRef.cs
- EmptyCollection.cs
- CanonicalFontFamilyReference.cs
- DrawingContextWalker.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- TitleStyle.cs
- RouteParametersHelper.cs
- VectorAnimationUsingKeyFrames.cs
- FlowDecision.cs
- HMACMD5.cs
- AutoGeneratedField.cs
- InputDevice.cs
- SessionPageStateSection.cs
- ConvertersCollection.cs
- DiagnosticStrings.cs
- DesignParameter.cs
- WindowsFormsSynchronizationContext.cs
- WebFaultClientMessageInspector.cs
- MgmtConfigurationRecord.cs
- autovalidator.cs
- Constraint.cs
- HttpCacheParams.cs
- ListViewItemEventArgs.cs
- SequenceDesigner.xaml.cs
- InertiaTranslationBehavior.cs
- SmtpDateTime.cs
- PassportPrincipal.cs
- DataGridPageChangedEventArgs.cs
- ColorTranslator.cs
- DashStyle.cs
- EntityTypeEmitter.cs
- HtmlInputControl.cs
- SystemDiagnosticsSection.cs
- CollectionDataContract.cs
- DocumentViewerHelper.cs