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
- DataBoundControlHelper.cs
- StringReader.cs
- TraceUtility.cs
- QueryOperatorEnumerator.cs
- ApplicationServiceManager.cs
- PlanCompilerUtil.cs
- SettingsPropertyNotFoundException.cs
- DataBindingHandlerAttribute.cs
- TextAnchor.cs
- Button.cs
- EntityCommandDefinition.cs
- PropertySourceInfo.cs
- Columns.cs
- CustomAttributeBuilder.cs
- CompilerInfo.cs
- ModifierKeysValueSerializer.cs
- ValueExpressions.cs
- XmlSchemaSimpleTypeRestriction.cs
- EnumBuilder.cs
- MetafileHeader.cs
- TableProvider.cs
- HtmlTernaryTree.cs
- SqlUDTStorage.cs
- WebPartDisplayModeCollection.cs
- ContentDisposition.cs
- HtmlInputRadioButton.cs
- SoapObjectWriter.cs
- MsdtcClusterUtils.cs
- Pens.cs
- TextEndOfLine.cs
- OdbcErrorCollection.cs
- StorageInfo.cs
- Win32KeyboardDevice.cs
- Wrapper.cs
- BitFlagsGenerator.cs
- GridViewColumn.cs
- System.Data_BID.cs
- TextAutomationPeer.cs
- AppDomainFactory.cs
- TimeSpan.cs
- PageStatePersister.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- NullableLongAverageAggregationOperator.cs
- ImageKeyConverter.cs
- WarningException.cs
- DrawingVisual.cs
- GifBitmapDecoder.cs
- IndicCharClassifier.cs
- XmlSchemaParticle.cs
- CngKeyCreationParameters.cs
- DatePickerAutomationPeer.cs
- TextInfo.cs
- BooleanExpr.cs
- OracleConnectionString.cs
- XmlNullResolver.cs
- Bitmap.cs
- ObjectDataSourceView.cs
- DataTransferEventArgs.cs
- WebServiceAttribute.cs
- Dynamic.cs
- LockRecursionException.cs
- MultilineStringConverter.cs
- RowParagraph.cs
- FrameworkElementFactory.cs
- ToolboxCategory.cs
- XmlQueryCardinality.cs
- SqlClientPermission.cs
- EncoderBestFitFallback.cs
- AssemblyBuilder.cs
- SendActivityDesigner.cs
- XmlNode.cs
- DbConnectionClosed.cs
- Point3D.cs
- WebRequestModuleElement.cs
- HttpProfileGroupBase.cs
- AttributeUsageAttribute.cs
- FactoryMaker.cs
- ProjectionQueryOptionExpression.cs
- StateMachineWorkflowDesigner.cs
- COM2TypeInfoProcessor.cs
- PanelStyle.cs
- ToolConsole.cs
- SchemaImporterExtensionsSection.cs
- OutputCacheProfile.cs
- RawUIStateInputReport.cs
- StaticFileHandler.cs
- QueryAsyncResult.cs
- VirtualPath.cs
- CodePropertyReferenceExpression.cs
- TreeViewImageKeyConverter.cs
- ProbeMatches11.cs
- BitmapCodecInfoInternal.cs
- DataGridViewRowStateChangedEventArgs.cs
- COM2Properties.cs
- CodeGeneratorOptions.cs
- BStrWrapper.cs
- ReadOnlyNameValueCollection.cs
- EntityDataSourceReferenceGroup.cs
- DbXmlEnabledProviderManifest.cs
- COM2FontConverter.cs