Code:
/ DotNET / DotNET / 8.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
- HtmlForm.cs
- ToolStripAdornerWindowService.cs
- XPathNodeList.cs
- TreeViewCancelEvent.cs
- RuleCache.cs
- CodeMemberEvent.cs
- SettingsAttributeDictionary.cs
- AppDomainUnloadedException.cs
- WeakEventTable.cs
- DifferencingCollection.cs
- WebPartConnectVerb.cs
- RootBrowserWindowAutomationPeer.cs
- XmlSchemas.cs
- BooleanFunctions.cs
- ItemAutomationPeer.cs
- ExtendedPropertyCollection.cs
- FileLoadException.cs
- DataContractAttribute.cs
- ControlEvent.cs
- HttpChannelHelpers.cs
- DeferredSelectedIndexReference.cs
- GacUtil.cs
- PrivateFontCollection.cs
- MonikerBuilder.cs
- ICollection.cs
- WorkflowServiceAttributes.cs
- Paragraph.cs
- CollaborationHelperFunctions.cs
- DataBoundControlAdapter.cs
- TextEncodedRawTextWriter.cs
- VersionedStream.cs
- TripleDESCryptoServiceProvider.cs
- CalendarDayButton.cs
- SpeechDetectedEventArgs.cs
- EntityDataSourceView.cs
- ScrollData.cs
- SerializationInfo.cs
- MessageQueue.cs
- SubstitutionResponseElement.cs
- CommonDialog.cs
- TokenBasedSetEnumerator.cs
- DataGridViewTopLeftHeaderCell.cs
- RelationshipType.cs
- BitmapPalette.cs
- DataSourceProvider.cs
- ProxyManager.cs
- DigestTraceRecordHelper.cs
- WebPartHelpVerb.cs
- AdjustableArrowCap.cs
- DocumentSchemaValidator.cs
- BuilderPropertyEntry.cs
- WorkerRequest.cs
- QueryExecutionOption.cs
- OdbcConnectionHandle.cs
- HuffCodec.cs
- GetBrowserTokenRequest.cs
- AndMessageFilter.cs
- XPathNodePointer.cs
- ProviderConnectionPoint.cs
- WebPartAddingEventArgs.cs
- safemediahandle.cs
- BitmapEffectInputConnector.cs
- EncodingStreamWrapper.cs
- LabelAutomationPeer.cs
- MessagePartDescriptionCollection.cs
- XmlSchemaInferenceException.cs
- RoleManagerModule.cs
- SqlExpander.cs
- DetailsViewModeEventArgs.cs
- BindingMAnagerBase.cs
- DataBoundLiteralControl.cs
- ArgumentValue.cs
- ShapingEngine.cs
- FrameworkTextComposition.cs
- CompoundFileReference.cs
- Label.cs
- ContractMapping.cs
- SecurityKeyUsage.cs
- ConditionCollection.cs
- DateRangeEvent.cs
- GuidTagList.cs
- ObservableDictionary.cs
- IChannel.cs
- XmlChoiceIdentifierAttribute.cs
- FileResponseElement.cs
- SettingsPropertyValue.cs
- ValidationEventArgs.cs
- DesignTimeHTMLTextWriter.cs
- autovalidator.cs
- TypeHelpers.cs
- GenericsInstances.cs
- ChtmlCalendarAdapter.cs
- NavigationPropertySingletonExpression.cs
- FormViewPagerRow.cs
- SafeViewOfFileHandle.cs
- RtfControls.cs
- ActivatableWorkflowsQueryResult.cs
- Inline.cs
- ImageButton.cs
- EventLogger.cs