Code:
/ DotNET / DotNET / 8.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
- ListInitExpression.cs
- CannotUnloadAppDomainException.cs
- URLMembershipCondition.cs
- TextServicesPropertyRanges.cs
- ToolBarTray.cs
- RectangleHotSpot.cs
- SoapSchemaImporter.cs
- Helpers.cs
- XamlGridLengthSerializer.cs
- XamlBrushSerializer.cs
- AliasedSlot.cs
- ControlPager.cs
- DbConnectionPoolOptions.cs
- RealizationContext.cs
- ISAPIApplicationHost.cs
- HitTestParameters3D.cs
- ChannelServices.cs
- invalidudtexception.cs
- MediaPlayerState.cs
- RowToFieldTransformer.cs
- SqlInfoMessageEvent.cs
- EventLogReader.cs
- DesignerActionItemCollection.cs
- GetLastErrorDetailsRequest.cs
- PermissionSetEnumerator.cs
- FocusChangedEventArgs.cs
- SqlDeflator.cs
- UIElement3D.cs
- MethodBuilder.cs
- CodeSubDirectoriesCollection.cs
- SecurityDocument.cs
- ReadWriteControlDesigner.cs
- StylusPointPropertyUnit.cs
- MoveSizeWinEventHandler.cs
- RegexWorker.cs
- InternalsVisibleToAttribute.cs
- Point.cs
- ping.cs
- EntryPointNotFoundException.cs
- DataSourceXmlClassAttribute.cs
- BuildManager.cs
- thaishape.cs
- ServicePointManagerElement.cs
- TrackBarDesigner.cs
- BuildResult.cs
- ScrollPattern.cs
- IdnMapping.cs
- TraversalRequest.cs
- SpeechDetectedEventArgs.cs
- SortedDictionary.cs
- WinFormsComponentEditor.cs
- ExpressionEvaluator.cs
- SqlConnectionPoolProviderInfo.cs
- CompoundFileIOPermission.cs
- Sql8ConformanceChecker.cs
- DataSourceView.cs
- safelinkcollection.cs
- AssemblyName.cs
- EditorBrowsableAttribute.cs
- BrowserCapabilitiesFactory.cs
- Operand.cs
- ResourceDisplayNameAttribute.cs
- TextServicesContext.cs
- PropertyMetadata.cs
- AudioException.cs
- ToolStripItem.cs
- ServiceOperationInfoTypeConverter.cs
- DocumentXPathNavigator.cs
- CompensableActivity.cs
- ReadOnlyCollection.cs
- DataReceivedEventArgs.cs
- DataBindingCollection.cs
- translator.cs
- BaseCodePageEncoding.cs
- XmlReaderSettings.cs
- LinkLabel.cs
- HtmlFormParameterReader.cs
- WebDescriptionAttribute.cs
- Vector3DValueSerializer.cs
- WhitespaceReader.cs
- ServicePointManagerElement.cs
- Triplet.cs
- DesignerAutoFormatStyle.cs
- CompilationSection.cs
- UpdateManifestForBrowserApplication.cs
- VariantWrapper.cs
- UserPersonalizationStateInfo.cs
- NestedContainer.cs
- ActiveDesignSurfaceEvent.cs
- Symbol.cs
- SocketPermission.cs
- ProxyFragment.cs
- ManipulationBoundaryFeedbackEventArgs.cs
- DocumentsTrace.cs
- FolderBrowserDialog.cs
- shaper.cs
- RootBrowserWindow.cs
- MaterialGroup.cs
- Regex.cs
- ApplicationServicesHostFactory.cs