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
- ItemCollection.cs
- BindingCollection.cs
- WebZoneDesigner.cs
- NavigatingCancelEventArgs.cs
- SizeConverter.cs
- cookie.cs
- ErasingStroke.cs
- PrintDocument.cs
- Volatile.cs
- ObjectListDesigner.cs
- DecoderBestFitFallback.cs
- HttpInputStream.cs
- safelink.cs
- HideDisabledControlAdapter.cs
- Transform3DGroup.cs
- TextReader.cs
- TextDpi.cs
- MsmqTransportElement.cs
- Fonts.cs
- WpfPayload.cs
- EpmContentDeSerializer.cs
- RestClientProxyHandler.cs
- Win32.cs
- StaticResourceExtension.cs
- BulletChrome.cs
- MDIControlStrip.cs
- ItemCollection.cs
- TranslateTransform.cs
- DeviceContext.cs
- Cloud.cs
- ExpressionLexer.cs
- DataGridBoolColumn.cs
- CallContext.cs
- HtmlElement.cs
- Scanner.cs
- Zone.cs
- TextBox.cs
- HyperLinkColumn.cs
- OrderByExpression.cs
- DefaultObjectMappingItemCollection.cs
- WinInetCache.cs
- EventMappingSettings.cs
- XmlQueryStaticData.cs
- WindowInteropHelper.cs
- DBCommandBuilder.cs
- Menu.cs
- MsmqHostedTransportConfiguration.cs
- TextDecorationUnitValidation.cs
- SafeProcessHandle.cs
- KernelTypeValidation.cs
- EpmSourceTree.cs
- BookmarkEventArgs.cs
- _OverlappedAsyncResult.cs
- SerialStream.cs
- FullTrustAssembly.cs
- CheckBox.cs
- AuthenticationModuleElement.cs
- Panel.cs
- ConnectionConsumerAttribute.cs
- ListItem.cs
- MULTI_QI.cs
- PropertyValueChangedEvent.cs
- EventEntry.cs
- WebServiceClientProxyGenerator.cs
- ReadOnlyAttribute.cs
- DataRelationCollection.cs
- DbUpdateCommandTree.cs
- StreamAsIStream.cs
- EncryptedXml.cs
- CacheManager.cs
- BooleanAnimationUsingKeyFrames.cs
- ResourceDisplayNameAttribute.cs
- IRCollection.cs
- SerializationEventsCache.cs
- WebBrowserNavigatedEventHandler.cs
- SQLBinaryStorage.cs
- PropVariant.cs
- TemplateManager.cs
- CqlParserHelpers.cs
- BamlReader.cs
- DataControlFieldCollection.cs
- RadioButtonPopupAdapter.cs
- XPathDocument.cs
- CoTaskMemHandle.cs
- ExecutorLocksHeldException.cs
- ConfigurationManagerInternal.cs
- CryptoSession.cs
- ExchangeUtilities.cs
- Debug.cs
- DataGridViewRowConverter.cs
- ButtonRenderer.cs
- WindowsListViewScroll.cs
- Part.cs
- User.cs
- Geometry3D.cs
- ControlParameter.cs
- QuadraticBezierSegment.cs
- AttachedPropertyDescriptor.cs
- AttachmentService.cs
- SimpleTableProvider.cs