Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ConstantSlot.cs
- NameValueCollection.cs
- XmlDataLoader.cs
- ParserExtension.cs
- FontFamilyConverter.cs
- DeploymentSectionCache.cs
- DataControlCommands.cs
- SingleSelectRootGridEntry.cs
- RawTextInputReport.cs
- LinkLabelLinkClickedEvent.cs
- TouchFrameEventArgs.cs
- FileVersion.cs
- BaseTemplateBuildProvider.cs
- CodeTypeOfExpression.cs
- NamespaceTable.cs
- LinkedList.cs
- HtmlEncodedRawTextWriter.cs
- KerberosSecurityTokenProvider.cs
- BooleanKeyFrameCollection.cs
- SynchronizationLockException.cs
- XmlAttribute.cs
- IPHostEntry.cs
- GeneralTransformCollection.cs
- TextOutput.cs
- DesignerActionHeaderItem.cs
- PhysicalFontFamily.cs
- AQNBuilder.cs
- SequenceRangeCollection.cs
- StateDesigner.cs
- Underline.cs
- WsatServiceCertificate.cs
- EditorAttribute.cs
- InvokeWebServiceDesigner.cs
- PropertyInformationCollection.cs
- GlyphRunDrawing.cs
- Wizard.cs
- Array.cs
- Image.cs
- Internal.cs
- XmlValidatingReader.cs
- Keywords.cs
- ToolStripRendererSwitcher.cs
- AppDomain.cs
- ButtonFlatAdapter.cs
- DependencyObjectProvider.cs
- SqlDataSourceView.cs
- DataContractFormatAttribute.cs
- Cursor.cs
- DockProviderWrapper.cs
- DataControlButton.cs
- SerializationException.cs
- RoutedEvent.cs
- CountdownEvent.cs
- AppDomainShutdownMonitor.cs
- InstanceKeyNotReadyException.cs
- Pens.cs
- Button.cs
- Simplifier.cs
- PopOutPanel.cs
- XmlSchemaExporter.cs
- MetabaseSettings.cs
- WinCategoryAttribute.cs
- PageFunction.cs
- BoundColumn.cs
- XmlAttributeProperties.cs
- PropertyMetadata.cs
- TransactionProtocol.cs
- CellParaClient.cs
- XmlSerializableServices.cs
- ArrayTypeMismatchException.cs
- DbgUtil.cs
- OleDbParameter.cs
- LongValidator.cs
- SamlAssertion.cs
- ExplicitDiscriminatorMap.cs
- BaseCodePageEncoding.cs
- Brush.cs
- SerializationInfoEnumerator.cs
- HandlerBase.cs
- HttpServerUtilityWrapper.cs
- ProtocolsConfigurationHandler.cs
- ItemType.cs
- CellParaClient.cs
- ContractInferenceHelper.cs
- Int64Converter.cs
- MimeTypeMapper.cs
- TakeQueryOptionExpression.cs
- SoapExtension.cs
- InstancePersistenceContext.cs
- SystemIPInterfaceStatistics.cs
- OracleTimeSpan.cs
- BuildProvider.cs
- SelectionWordBreaker.cs
- XmlQuerySequence.cs
- oledbmetadatacollectionnames.cs
- HttpServerProtocol.cs
- Perspective.cs
- MaskDesignerDialog.cs
- EditBehavior.cs
- HMACSHA384.cs