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
- iisPickupDirectory.cs
- clipboard.cs
- WpfSharedXamlSchemaContext.cs
- FullTextState.cs
- SqlComparer.cs
- SqlCrossApplyToCrossJoin.cs
- XsltSettings.cs
- WebPartPersonalization.cs
- GifBitmapEncoder.cs
- LockedHandleGlyph.cs
- BitmapEffectCollection.cs
- LZCodec.cs
- EncoderExceptionFallback.cs
- BamlLocalizabilityResolver.cs
- HttpModuleCollection.cs
- GeometryDrawing.cs
- PeerCustomResolverBindingElement.cs
- TableTextElementCollectionInternal.cs
- DictionaryItemsCollection.cs
- ForwardPositionQuery.cs
- TabPage.cs
- Parsers.cs
- MruCache.cs
- SeparatorAutomationPeer.cs
- ToolStripSplitButton.cs
- EastAsianLunisolarCalendar.cs
- XmlElementList.cs
- ObjectListDataBindEventArgs.cs
- BoundsDrawingContextWalker.cs
- ParameterBinding.cs
- AccessViolationException.cs
- _NativeSSPI.cs
- FixedMaxHeap.cs
- ProfessionalColors.cs
- QilName.cs
- LoadedEvent.cs
- HttpWebRequest.cs
- DirectoryNotFoundException.cs
- ProviderCollection.cs
- IChannel.cs
- IFlowDocumentViewer.cs
- Nullable.cs
- ProcessModelInfo.cs
- MSG.cs
- AsyncResult.cs
- ClipboardData.cs
- ServiceHttpModule.cs
- EntityCollection.cs
- DetailsViewInsertedEventArgs.cs
- SmiEventStream.cs
- StrokeCollection2.cs
- PackageRelationshipCollection.cs
- SimpleWorkerRequest.cs
- DefaultMemberAttribute.cs
- ImportContext.cs
- XmlSchemaValidationException.cs
- UniformGrid.cs
- WebServiceData.cs
- CompletedAsyncResult.cs
- SafeProcessHandle.cs
- ScrollEvent.cs
- EncryptedKey.cs
- SrgsRule.cs
- NonBatchDirectoryCompiler.cs
- WsatServiceAddress.cs
- WorkflowApplicationAbortedEventArgs.cs
- SchemaTableColumn.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- RegistrationServices.cs
- newitemfactory.cs
- SqlRemoveConstantOrderBy.cs
- PageThemeBuildProvider.cs
- LoginDesignerUtil.cs
- MultiByteCodec.cs
- RegexStringValidator.cs
- DirtyTextRange.cs
- SynchronizedReadOnlyCollection.cs
- HttpCachePolicyWrapper.cs
- StringDictionaryCodeDomSerializer.cs
- PageThemeBuildProvider.cs
- ProfileService.cs
- CaseInsensitiveOrdinalStringComparer.cs
- RawStylusSystemGestureInputReport.cs
- TimeSpanSecondsConverter.cs
- TempFiles.cs
- RayHitTestParameters.cs
- EdmRelationshipRoleAttribute.cs
- DBNull.cs
- XPathNodePointer.cs
- ObjectDataSourceFilteringEventArgs.cs
- cookiecontainer.cs
- WebPartConnectionsEventArgs.cs
- TextRangeProviderWrapper.cs
- FloatUtil.cs
- XmlSignificantWhitespace.cs
- RouteParameter.cs
- PriorityQueue.cs
- FilteredDataSetHelper.cs
- ClipboardProcessor.cs
- JournalNavigationScope.cs