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
- PopupRoot.cs
- PropertySourceInfo.cs
- IPGlobalProperties.cs
- DynamicQueryableWrapper.cs
- ContextMenuService.cs
- HiddenFieldDesigner.cs
- Menu.cs
- AppModelKnownContentFactory.cs
- EnvironmentPermission.cs
- Sql8ExpressionRewriter.cs
- TraceSwitch.cs
- WpfKnownTypeInvoker.cs
- OutputCacheSection.cs
- FieldTemplateFactory.cs
- WrappedIUnknown.cs
- DetailsViewInsertedEventArgs.cs
- XDRSchema.cs
- securitycriticaldataClass.cs
- X509ChainPolicy.cs
- EndOfStreamException.cs
- Route.cs
- ErrorWebPart.cs
- Parameter.cs
- Pair.cs
- CLSCompliantAttribute.cs
- WebPartHeaderCloseVerb.cs
- PageBuildProvider.cs
- CurrentTimeZone.cs
- WmlImageAdapter.cs
- EqualityComparer.cs
- FragmentQueryKB.cs
- InstanceDescriptor.cs
- AuthorizationSection.cs
- ToolStripScrollButton.cs
- RemotingException.cs
- TextViewBase.cs
- RbTree.cs
- ToolStripScrollButton.cs
- ThreadSafeList.cs
- RegexCharClass.cs
- RubberbandSelector.cs
- PeerHelpers.cs
- MatrixCamera.cs
- DocumentViewerBaseAutomationPeer.cs
- CalendarItem.cs
- X509Extension.cs
- ObjectDataSourceFilteringEventArgs.cs
- MeshGeometry3D.cs
- SamlAuthorizationDecisionClaimResource.cs
- MultiTargetingUtil.cs
- XmlDictionaryString.cs
- FilterElement.cs
- Path.cs
- DoWorkEventArgs.cs
- CodeStatementCollection.cs
- QilTargetType.cs
- LocalBuilder.cs
- OutputBuffer.cs
- SqlErrorCollection.cs
- BamlStream.cs
- TypeResolver.cs
- ErrorRuntimeConfig.cs
- CallbackValidatorAttribute.cs
- TogglePattern.cs
- MenuAutomationPeer.cs
- WebHttpSecurityModeHelper.cs
- DataControlLinkButton.cs
- CodeChecksumPragma.cs
- Misc.cs
- TemplateBamlTreeBuilder.cs
- TransformCollection.cs
- CompositeFontParser.cs
- StyleSheetComponentEditor.cs
- HelpExampleGenerator.cs
- _ConnectOverlappedAsyncResult.cs
- XPathScanner.cs
- StorageAssociationSetMapping.cs
- TabPanel.cs
- MenuItemStyle.cs
- XmlAttributeOverrides.cs
- UserNameSecurityTokenAuthenticator.cs
- _ListenerResponseStream.cs
- Automation.cs
- cookie.cs
- UnsafeCollabNativeMethods.cs
- GridViewRowCollection.cs
- GenericTextProperties.cs
- WebPartZone.cs
- EntityCommandExecutionException.cs
- OperationPickerDialog.designer.cs
- URLIdentityPermission.cs
- WebControlToolBoxItem.cs
- RijndaelManaged.cs
- TrustManager.cs
- DLinqDataModelProvider.cs
- NeutralResourcesLanguageAttribute.cs
- FileStream.cs
- TableStyle.cs
- XmlSchemaNotation.cs
- BorderGapMaskConverter.cs