Code:
/ FX-1434 / FX-1434 / 1.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
- ConfigXmlCDataSection.cs
- SpotLight.cs
- ItemContainerPattern.cs
- DynamicMethod.cs
- InputScope.cs
- AddressingProperty.cs
- EditingCoordinator.cs
- DataSourceCacheDurationConverter.cs
- InvokeProviderWrapper.cs
- FormsAuthenticationEventArgs.cs
- NgenServicingAttributes.cs
- SiteMapHierarchicalDataSourceView.cs
- TreeNodeStyleCollection.cs
- DispatcherTimer.cs
- DataGridViewAdvancedBorderStyle.cs
- RemoteWebConfigurationHostServer.cs
- FlowDocumentFormatter.cs
- DockingAttribute.cs
- WebBrowserContainer.cs
- ServicesUtilities.cs
- MyContact.cs
- TableColumnCollectionInternal.cs
- Knowncolors.cs
- WeakReference.cs
- Size.cs
- DoubleAnimationUsingPath.cs
- cache.cs
- ExceptionUtil.cs
- _Win32.cs
- XmlToDatasetMap.cs
- SiteMapDataSource.cs
- FormsAuthenticationConfiguration.cs
- BindingMemberInfo.cs
- SqlProviderManifest.cs
- XmlCDATASection.cs
- BitmapEffectDrawing.cs
- TokenizerHelper.cs
- ServerValidateEventArgs.cs
- ExportOptions.cs
- File.cs
- TableProviderWrapper.cs
- MsmqInputSessionChannel.cs
- InstalledFontCollection.cs
- CalendarAutomationPeer.cs
- TagPrefixCollection.cs
- ModifierKeysValueSerializer.cs
- DataSysAttribute.cs
- SyntaxCheck.cs
- OleAutBinder.cs
- DrawingGroupDrawingContext.cs
- ConditionalExpression.cs
- System.Data_BID.cs
- MLangCodePageEncoding.cs
- StatusBar.cs
- Decoder.cs
- CodeGroup.cs
- WebServiceMethodData.cs
- WindowsAuthenticationEventArgs.cs
- UserMapPath.cs
- CollectionViewGroupRoot.cs
- BamlLocalizableResource.cs
- PeerNameRecord.cs
- DataTransferEventArgs.cs
- securestring.cs
- SqlInfoMessageEvent.cs
- ResourceIDHelper.cs
- AnonymousIdentificationSection.cs
- CustomErrorCollection.cs
- TabRenderer.cs
- CheckedListBox.cs
- ScaleTransform3D.cs
- ScrollBarAutomationPeer.cs
- ItemList.cs
- TypedDataSetSchemaImporterExtension.cs
- GridViewColumnHeader.cs
- BasicExpressionVisitor.cs
- RoleGroupCollectionEditor.cs
- HitTestParameters.cs
- ConfigXmlElement.cs
- FactoryMaker.cs
- SqlNodeAnnotations.cs
- compensatingcollection.cs
- ObjectMaterializedEventArgs.cs
- CodeDefaultValueExpression.cs
- safelinkcollection.cs
- Misc.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- MessageQueueKey.cs
- ObjectDesignerDataSourceView.cs
- UnmanagedHandle.cs
- DataRowView.cs
- UnSafeCharBuffer.cs
- Sql8ExpressionRewriter.cs
- UiaCoreApi.cs
- UnmanagedHandle.cs
- AppendHelper.cs
- RoleGroupCollection.cs
- Int16Converter.cs
- ToolStripArrowRenderEventArgs.cs
- NativeMethods.cs