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
- MetadataPropertyAttribute.cs
- ManagementNamedValueCollection.cs
- MemoryPressure.cs
- TextDpi.cs
- PageThemeBuildProvider.cs
- LinearGradientBrush.cs
- DecimalFormatter.cs
- XamlHttpHandlerFactory.cs
- invalidudtexception.cs
- NoPersistProperty.cs
- DependencyObjectType.cs
- MembershipPasswordException.cs
- ChineseLunisolarCalendar.cs
- ImageMap.cs
- CodeArrayCreateExpression.cs
- PeerPresenceInfo.cs
- BitmapEffectInput.cs
- DeadCharTextComposition.cs
- PingReply.cs
- DataGridViewUtilities.cs
- ObjectQuery_EntitySqlExtensions.cs
- SQLInt64.cs
- HitTestFilterBehavior.cs
- SignedPkcs7.cs
- DisposableCollectionWrapper.cs
- DomainConstraint.cs
- DataGridTextBox.cs
- UriTemplatePathPartiallyEquivalentSet.cs
- BorderSidesEditor.cs
- OuterGlowBitmapEffect.cs
- SecurityValidationBehavior.cs
- FormsAuthenticationCredentials.cs
- SqlCommand.cs
- ModelItemKeyValuePair.cs
- DbConnectionStringCommon.cs
- ISAPIRuntime.cs
- SecuritySessionSecurityTokenProvider.cs
- RelationshipConverter.cs
- HttpWrapper.cs
- ImmComposition.cs
- METAHEADER.cs
- Pkcs7Recipient.cs
- XmlIncludeAttribute.cs
- Comparer.cs
- SchemaTableColumn.cs
- RangeEnumerable.cs
- DoubleCollection.cs
- DocumentAutomationPeer.cs
- arabicshape.cs
- SafeCryptContextHandle.cs
- DummyDataSource.cs
- XPathNodeHelper.cs
- SQLInt64Storage.cs
- ResourceSetExpression.cs
- GetWinFXPath.cs
- ValidationResult.cs
- AppSettingsReader.cs
- SelectionItemProviderWrapper.cs
- EntityCommand.cs
- IOException.cs
- NameTable.cs
- XmlResolver.cs
- SettingsAttributeDictionary.cs
- CultureSpecificStringDictionary.cs
- ClipboardData.cs
- NewArrayExpression.cs
- TraceUtils.cs
- Repeater.cs
- SessionPageStatePersister.cs
- CodeConditionStatement.cs
- CqlIdentifiers.cs
- ImageFormat.cs
- SmtpReplyReader.cs
- ParallelActivityDesigner.cs
- AdornerPresentationContext.cs
- TraceContextRecord.cs
- XmlSchemaExporter.cs
- DataGridViewRowConverter.cs
- XmlQualifiedNameTest.cs
- HostedHttpTransportManager.cs
- InheritanceContextChangedEventManager.cs
- Helpers.cs
- BitmapCodecInfoInternal.cs
- ByteAnimationUsingKeyFrames.cs
- HitTestWithGeometryDrawingContextWalker.cs
- AttributeParameterInfo.cs
- TextRunCache.cs
- CompilerInfo.cs
- TripleDES.cs
- DebugTracing.cs
- WindowShowOrOpenTracker.cs
- XamlReaderConstants.cs
- EarlyBoundInfo.cs
- DefaultProxySection.cs
- SerializationBinder.cs
- FontNamesConverter.cs
- TypeSource.cs
- WebPartEditorCancelVerb.cs
- DurableServiceAttribute.cs
- TextAutomationPeer.cs