Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebControls / ReadOnlyHierarchicalDataSource.cs / 1305376 / ReadOnlyHierarchicalDataSource.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System; using System.Collections; using System.ComponentModel; using System.Web; using System.Web.UI; using System.Web.Util; ////// Helper class for hierarchical data bound controls to wrap an generic /// data source with a strongly typed IHierarchicalDataSource. This class /// automatically handles other IHierarchicalDataSources and /// IHierarchicalEnumerables. This class uses /// ReadOnlyHierarchicalDataSourceView to represent individual views. /// internal sealed class ReadOnlyHierarchicalDataSource : IHierarchicalDataSource { private object _dataSource; public ReadOnlyHierarchicalDataSource(object dataSource) { Debug.Assert(dataSource == null || (dataSource is IHierarchicalEnumerable || dataSource is IHierarchicalDataSource), "Expected dataSource to be either null, an IHierarchicalEnumerable, or an IHierarchicalDataSource."); _dataSource = dataSource; } #region Implementation of IHierarchicalDataSource event EventHandler IHierarchicalDataSource.DataSourceChanged { add { } remove { } } ////// Check for IHierarchicalDataSource and IHierarchicalEnumerable, and /// return an approprite HierarchicalDataSourceView. /// HierarchicalDataSourceView IHierarchicalDataSource.GetHierarchicalView(string viewPath) { // Check first for IHierarchicalDataSource IHierarchicalDataSource ds = _dataSource as IHierarchicalDataSource; if (ds != null) { return ds.GetHierarchicalView(viewPath); } IHierarchicalEnumerable enumerable = _dataSource as IHierarchicalEnumerable; if (enumerable != null && viewPath != null && viewPath.Length != 0) { throw new InvalidOperationException(SR.GetString(SR.ReadOnlyHierarchicalDataSourceView_CantAccessPathInEnumerable)); } return new ReadOnlyHierarchicalDataSourceView(enumerable); } #endregion } } // 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.Web; using System.Web.UI; using System.Web.Util; ////// Helper class for hierarchical data bound controls to wrap an generic /// data source with a strongly typed IHierarchicalDataSource. This class /// automatically handles other IHierarchicalDataSources and /// IHierarchicalEnumerables. This class uses /// ReadOnlyHierarchicalDataSourceView to represent individual views. /// internal sealed class ReadOnlyHierarchicalDataSource : IHierarchicalDataSource { private object _dataSource; public ReadOnlyHierarchicalDataSource(object dataSource) { Debug.Assert(dataSource == null || (dataSource is IHierarchicalEnumerable || dataSource is IHierarchicalDataSource), "Expected dataSource to be either null, an IHierarchicalEnumerable, or an IHierarchicalDataSource."); _dataSource = dataSource; } #region Implementation of IHierarchicalDataSource event EventHandler IHierarchicalDataSource.DataSourceChanged { add { } remove { } } ////// Check for IHierarchicalDataSource and IHierarchicalEnumerable, and /// return an approprite HierarchicalDataSourceView. /// HierarchicalDataSourceView IHierarchicalDataSource.GetHierarchicalView(string viewPath) { // Check first for IHierarchicalDataSource IHierarchicalDataSource ds = _dataSource as IHierarchicalDataSource; if (ds != null) { return ds.GetHierarchicalView(viewPath); } IHierarchicalEnumerable enumerable = _dataSource as IHierarchicalEnumerable; if (enumerable != null && viewPath != null && viewPath.Length != 0) { throw new InvalidOperationException(SR.GetString(SR.ReadOnlyHierarchicalDataSourceView_CantAccessPathInEnumerable)); } return new ReadOnlyHierarchicalDataSourceView(enumerable); } #endregion } } // 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
- ObjectItemCollection.cs
- ColorInterpolationModeValidation.cs
- ParallelQuery.cs
- TableLayoutColumnStyleCollection.cs
- XmlWriter.cs
- SuppressIldasmAttribute.cs
- OleDbException.cs
- XmlEventCache.cs
- HeaderedItemsControl.cs
- ExpressionStringBuilder.cs
- MissingMethodException.cs
- MgmtResManager.cs
- Math.cs
- CompilerCollection.cs
- TypeResolver.cs
- ImageCodecInfo.cs
- HttpException.cs
- SettingsPropertyValueCollection.cs
- Message.cs
- RuntimeConfigLKG.cs
- ColorConvertedBitmapExtension.cs
- UrlPath.cs
- EntityViewContainer.cs
- OdbcUtils.cs
- BooleanProjectedSlot.cs
- XmlImplementation.cs
- ServiceNameCollection.cs
- WebPartMenu.cs
- ColorInterpolationModeValidation.cs
- TreeViewCancelEvent.cs
- Query.cs
- SimpleModelProvider.cs
- ControlParameter.cs
- VideoDrawing.cs
- SqlTypeConverter.cs
- DataGridViewRowPostPaintEventArgs.cs
- XmlSchema.cs
- NetMsmqBindingElement.cs
- AudioFileOut.cs
- PropertyPath.cs
- AcceleratedTokenAuthenticator.cs
- NativeMethods.cs
- NewArray.cs
- FlowDocumentScrollViewer.cs
- UmAlQuraCalendar.cs
- _SSPISessionCache.cs
- InsufficientMemoryException.cs
- HashJoinQueryOperatorEnumerator.cs
- BasicCellRelation.cs
- CounterSampleCalculator.cs
- EmptyCollection.cs
- TcpPortSharing.cs
- Soap.cs
- UpdatePanelTriggerCollection.cs
- XamlFilter.cs
- TimersDescriptionAttribute.cs
- SqlMethodTransformer.cs
- DetailsViewUpdateEventArgs.cs
- ExpressionSelection.cs
- DataControlFieldCell.cs
- DuplicateDetector.cs
- DiscoveryClient.cs
- ExceptionHelpers.cs
- SelectingProviderEventArgs.cs
- HtmlInputHidden.cs
- TemplateControlParser.cs
- CounterCreationData.cs
- AppSecurityManager.cs
- CodeEventReferenceExpression.cs
- ObjectListDataBindEventArgs.cs
- ConversionContext.cs
- SettingsAttributeDictionary.cs
- ArrangedElementCollection.cs
- DocumentApplicationJournalEntry.cs
- RequestCacheValidator.cs
- ImageCodecInfo.cs
- RegexStringValidatorAttribute.cs
- followingquery.cs
- TimeSpanHelper.cs
- XmlSchemaSimpleType.cs
- InstancePersistenceEvent.cs
- FilterQueryOptionExpression.cs
- PageBreakRecord.cs
- ValuePattern.cs
- ServiceOperationWrapper.cs
- SQLDateTime.cs
- EditorPart.cs
- MemberRelationshipService.cs
- ExceptionAggregator.cs
- RawAppCommandInputReport.cs
- MetadataCache.cs
- DocumentScope.cs
- CompiledAction.cs
- SlipBehavior.cs
- SchemaAttDef.cs
- ProtocolsConfiguration.cs
- ArgumentDesigner.xaml.cs
- CompilerGeneratedAttribute.cs
- SectionVisual.cs
- XmlTextReaderImplHelpers.cs