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
- TextFormatterHost.cs
- FontUnit.cs
- TextDecorationCollection.cs
- recordstatefactory.cs
- ObjectStorage.cs
- ServiceReference.cs
- GridViewDeleteEventArgs.cs
- Stackframe.cs
- DoubleCollectionConverter.cs
- SponsorHelper.cs
- ModelUIElement3D.cs
- WebPartMovingEventArgs.cs
- SqlCrossApplyToCrossJoin.cs
- NumberEdit.cs
- SystemIcons.cs
- HttpModulesSection.cs
- ActivationServices.cs
- ExpressionBuilderContext.cs
- MarshalByRefObject.cs
- ProxyWebPartConnectionCollection.cs
- RequestNavigateEventArgs.cs
- ReferenceSchema.cs
- StorageComplexPropertyMapping.cs
- EditingMode.cs
- GeneralTransform3DCollection.cs
- DescriptionAttribute.cs
- DbProviderConfigurationHandler.cs
- InvalidEnumArgumentException.cs
- ObjectNavigationPropertyMapping.cs
- SharedStatics.cs
- Validator.cs
- SmiConnection.cs
- SqlUserDefinedTypeAttribute.cs
- ScriptBehaviorDescriptor.cs
- DefaultHttpHandler.cs
- EFColumnProvider.cs
- DataControlFieldHeaderCell.cs
- RtfToXamlReader.cs
- RuleSetReference.cs
- LayoutEngine.cs
- Wildcard.cs
- DataServiceEntityAttribute.cs
- FixedSOMLineCollection.cs
- Point3D.cs
- ThreadStateException.cs
- PeerOutputChannel.cs
- XhtmlBasicTextBoxAdapter.cs
- TextSegment.cs
- LocatorPartList.cs
- ParentUndoUnit.cs
- PeerCollaboration.cs
- UnsafeNativeMethods.cs
- Process.cs
- ToolStripComboBox.cs
- BooleanProjectedSlot.cs
- WebPartUserCapability.cs
- ModelUIElement3D.cs
- TreeNode.cs
- SqlDataAdapter.cs
- GridItemPattern.cs
- MdImport.cs
- SendActivityValidator.cs
- CfgParser.cs
- _KerberosClient.cs
- SendOperation.cs
- FloaterParagraph.cs
- _ServiceNameStore.cs
- SchemaName.cs
- BamlVersionHeader.cs
- TogglePattern.cs
- StorageSetMapping.cs
- ClientRoleProvider.cs
- BaseEntityWrapper.cs
- _ProxyChain.cs
- WebPart.cs
- ReadOnlyHierarchicalDataSourceView.cs
- ListItemsCollectionEditor.cs
- ExpressionBuilderCollection.cs
- TimelineClockCollection.cs
- ScrollProviderWrapper.cs
- COM2TypeInfoProcessor.cs
- RadioButtonList.cs
- Ppl.cs
- ListViewCommandEventArgs.cs
- SqlFactory.cs
- PolyQuadraticBezierSegment.cs
- UIElement3D.cs
- TimeoutValidationAttribute.cs
- DataBindingCollection.cs
- AttributeParameterInfo.cs
- SQLChars.cs
- IOException.cs
- ZeroOpNode.cs
- LocatorManager.cs
- BitmapFrameDecode.cs
- X509Extension.cs
- StateDesigner.CommentLayoutGlyph.cs
- RowsCopiedEventArgs.cs
- ProfilePropertySettings.cs
- FocusChangedEventArgs.cs