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
- AttributedMetaModel.cs
- xmlformatgeneratorstatics.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- SchemeSettingElementCollection.cs
- UIElementParagraph.cs
- TableChangeProcessor.cs
- ImageIndexConverter.cs
- Signature.cs
- DiscoveryDocumentReference.cs
- InternalControlCollection.cs
- KnownTypesProvider.cs
- InvariantComparer.cs
- ControlBindingsCollection.cs
- ClaimComparer.cs
- TextEditorMouse.cs
- Helpers.cs
- TailPinnedEventArgs.cs
- DateTimeConverter.cs
- SizeAnimationBase.cs
- DataGridClipboardHelper.cs
- PageThemeBuildProvider.cs
- ComponentManagerBroker.cs
- BaseServiceProvider.cs
- EventHandlingScope.cs
- ProfilePropertySettingsCollection.cs
- SafeCryptContextHandle.cs
- TrackingParameters.cs
- SafeLibraryHandle.cs
- BooleanConverter.cs
- WSHttpBinding.cs
- BoundsDrawingContextWalker.cs
- ResourceAttributes.cs
- StringStorage.cs
- BooleanExpr.cs
- CTreeGenerator.cs
- DataGridCommandEventArgs.cs
- SqlClientPermission.cs
- XamlFrame.cs
- GridViewCancelEditEventArgs.cs
- EmptyElement.cs
- UserControl.cs
- HandlerFactoryWrapper.cs
- OrthographicCamera.cs
- Button.cs
- WebHeaderCollection.cs
- XmlEnumAttribute.cs
- MembershipSection.cs
- TextServicesManager.cs
- DataControlHelper.cs
- PackageDigitalSignatureManager.cs
- HTMLTagNameToTypeMapper.cs
- DtrList.cs
- VideoDrawing.cs
- OleDbCommand.cs
- StyleCollectionEditor.cs
- ObjectDataSourceEventArgs.cs
- TextComposition.cs
- BaseValidator.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- DashStyle.cs
- Type.cs
- SystemInfo.cs
- StaticExtension.cs
- SqlBulkCopy.cs
- XmlWrappingReader.cs
- Panel.cs
- TypedTableBaseExtensions.cs
- WebContext.cs
- PermissionSetTriple.cs
- ConsumerConnectionPointCollection.cs
- ChildTable.cs
- CacheAxisQuery.cs
- MemberRelationshipService.cs
- AsyncCompletedEventArgs.cs
- UniqueEventHelper.cs
- MessageQueue.cs
- DataGridViewHitTestInfo.cs
- _BaseOverlappedAsyncResult.cs
- HttpCookieCollection.cs
- TokenCreationParameter.cs
- Thread.cs
- ExplicitDiscriminatorMap.cs
- TableItemPattern.cs
- GenericTypeParameterBuilder.cs
- EncryptedXml.cs
- DesignerTextViewAdapter.cs
- SwitchElementsCollection.cs
- Object.cs
- TextDecoration.cs
- UnionCodeGroup.cs
- FieldNameLookup.cs
- CodeMemberEvent.cs
- EmptyImpersonationContext.cs
- DocumentViewer.cs
- RijndaelManagedTransform.cs
- precedingquery.cs
- EndPoint.cs
- RecordConverter.cs
- DetailsViewRow.cs
- RefType.cs