Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebControls / FilteredDataSetHelper.cs / 1305376 / 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. // //----------------------------------------------------------------------------- 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TableLayoutPanelDesigner.cs
- ChannelPoolSettings.cs
- SymbolUsageManager.cs
- HostingEnvironment.cs
- PasswordPropertyTextAttribute.cs
- Queue.cs
- DataSourceControlBuilder.cs
- DependencyPropertyDescriptor.cs
- HwndSubclass.cs
- DbCommandDefinition.cs
- WpfKnownType.cs
- ThreadInterruptedException.cs
- XmlWrappingReader.cs
- UInt16Storage.cs
- SlotInfo.cs
- CapabilitiesRule.cs
- WebPartsSection.cs
- ProcessModuleCollection.cs
- WaitHandleCannotBeOpenedException.cs
- StorageBasedPackageProperties.cs
- ExpressionBuilderContext.cs
- SimpleExpression.cs
- ReversePositionQuery.cs
- WorkflowMarkupElementEventArgs.cs
- SqlTypeSystemProvider.cs
- DataBindingCollectionEditor.cs
- PagerSettings.cs
- WorkflowMarkupSerializationException.cs
- InstanceCreationEditor.cs
- KnownTypes.cs
- XslVisitor.cs
- EntityDataSourceChangedEventArgs.cs
- ScrollPattern.cs
- ObjectCloneHelper.cs
- TdsEnums.cs
- ValidationSummary.cs
- EventData.cs
- DefaultPropertyAttribute.cs
- ProjectionRewriter.cs
- FormViewUpdateEventArgs.cs
- BamlReader.cs
- TextParagraphCache.cs
- FileDialogCustomPlace.cs
- OpCellTreeNode.cs
- TextRange.cs
- EntitySqlQueryBuilder.cs
- NativeActivityContext.cs
- HtmlTitle.cs
- XmlCountingReader.cs
- EnumerableValidator.cs
- DataPagerFieldCollection.cs
- ActiveXContainer.cs
- Models.cs
- SafeViewOfFileHandle.cs
- CapabilitiesAssignment.cs
- IteratorFilter.cs
- SmiXetterAccessMap.cs
- HtmlInputCheckBox.cs
- PtsHelper.cs
- PathGeometry.cs
- Delegate.cs
- MessageSmuggler.cs
- MSAAWinEventWrap.cs
- COM2Enum.cs
- HtmlPanelAdapter.cs
- PropagatorResult.cs
- Lease.cs
- ContentPropertyAttribute.cs
- InputLanguageCollection.cs
- SQLDateTime.cs
- TcpConnectionPoolSettingsElement.cs
- SchemaElement.cs
- LineInfo.cs
- BindableAttribute.cs
- BindingContext.cs
- RuntimeComponentFilter.cs
- DataGridTablesFactory.cs
- ErrorHandler.cs
- DBAsyncResult.cs
- ResourcePermissionBase.cs
- ExecutionProperties.cs
- StickyNote.cs
- MasterPageCodeDomTreeGenerator.cs
- InputLangChangeRequestEvent.cs
- AppDomainManager.cs
- LinkClickEvent.cs
- StyleXamlTreeBuilder.cs
- DBConnection.cs
- SmiTypedGetterSetter.cs
- ClientRoleProvider.cs
- AxDesigner.cs
- BindingGraph.cs
- QfeChecker.cs
- GridViewUpdateEventArgs.cs
- RuntimeHandles.cs
- CharacterString.cs
- ExternalDataExchangeClient.cs
- SelectionEditor.cs
- ProtocolsConfiguration.cs
- TableParagraph.cs