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
- SizeValueSerializer.cs
- ApplySecurityAndSendAsyncResult.cs
- filewebresponse.cs
- BindingGroup.cs
- HttpHandlersSection.cs
- Rss20FeedFormatter.cs
- TlsnegoTokenProvider.cs
- NameSpaceExtractor.cs
- StrongNameSignatureInformation.cs
- URLEditor.cs
- XsltCompileContext.cs
- TypeUnloadedException.cs
- BigIntegerStorage.cs
- ObfuscationAttribute.cs
- SelectionItemPattern.cs
- CurrentChangingEventArgs.cs
- AlphabeticalEnumConverter.cs
- RTLAwareMessageBox.cs
- MatrixValueSerializer.cs
- EntityDataSourceDataSelection.cs
- EventSetter.cs
- MD5Cng.cs
- FileRecordSequence.cs
- SchemaMapping.cs
- NavigateUrlConverter.cs
- VectorValueSerializer.cs
- SerializableAttribute.cs
- RadioButtonStandardAdapter.cs
- StorageFunctionMapping.cs
- DataGridViewDataErrorEventArgs.cs
- Cloud.cs
- XmlSerializerNamespaces.cs
- HuffModule.cs
- SqlConnectionFactory.cs
- Vector3dCollection.cs
- DataGridViewButtonCell.cs
- HebrewNumber.cs
- BulletedList.cs
- DurableRuntimeValidator.cs
- Transform3DGroup.cs
- TreeViewItemAutomationPeer.cs
- TypeDependencyAttribute.cs
- ScrollChangedEventArgs.cs
- Empty.cs
- altserialization.cs
- VisualBasicSettings.cs
- ChildChangedEventArgs.cs
- TextSerializer.cs
- RegisteredArrayDeclaration.cs
- MultilineStringConverter.cs
- InputScopeNameConverter.cs
- AppAction.cs
- CodeCatchClauseCollection.cs
- PrtTicket_Public_Simple.cs
- ObjectItemAttributeAssemblyLoader.cs
- ReturnType.cs
- BuildDependencySet.cs
- HebrewCalendar.cs
- DataAdapter.cs
- PerfCounters.cs
- FileDialogCustomPlace.cs
- PropertyGrid.cs
- LocalizableResourceBuilder.cs
- SocketAddress.cs
- mongolianshape.cs
- unitconverter.cs
- MsdtcWrapper.cs
- XpsTokenContext.cs
- FolderLevelBuildProviderCollection.cs
- ConfigurationStrings.cs
- TypeNameConverter.cs
- SchemaType.cs
- DragDrop.cs
- ManipulationLogic.cs
- RemoteWebConfigurationHostServer.cs
- StrokeNodeData.cs
- AuthenticationException.cs
- DataMemberConverter.cs
- TryLoadRunnableWorkflowCommand.cs
- CursorInteropHelper.cs
- Int32Animation.cs
- CultureNotFoundException.cs
- HtmlListAdapter.cs
- ApplyImportsAction.cs
- CommandEventArgs.cs
- SponsorHelper.cs
- MultipartContentParser.cs
- CompositeDataBoundControl.cs
- XmlNamespaceMappingCollection.cs
- EntityChangedParams.cs
- PageThemeBuildProvider.cs
- CqlGenerator.cs
- CodeArrayCreateExpression.cs
- Convert.cs
- ColorTransform.cs
- CompModSwitches.cs
- ContainerUIElement3D.cs
- StringSorter.cs
- EditingScope.cs
- TileModeValidation.cs