Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / UI / WebControls / ReadOnlyHierarchicalDataSource.cs / 1 / 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
- ILGenerator.cs
- WebPartCancelEventArgs.cs
- EntityClassGenerator.cs
- OracleDateTime.cs
- Debug.cs
- BamlStream.cs
- ScrollChrome.cs
- ThreadExceptionDialog.cs
- ThreadAbortException.cs
- EndpointConfigContainer.cs
- XmlText.cs
- UpdateEventArgs.cs
- XmlCountingReader.cs
- ObjectPersistData.cs
- ParsedAttributeCollection.cs
- SecurityTokenSerializer.cs
- EntityTypeEmitter.cs
- BitmapEffectInput.cs
- IndependentAnimationStorage.cs
- TreeNodeStyleCollection.cs
- ListViewUpdateEventArgs.cs
- ProjectionQueryOptionExpression.cs
- MimeMapping.cs
- IgnoreFileBuildProvider.cs
- WebPartVerb.cs
- XPathSelfQuery.cs
- FilteredDataSetHelper.cs
- RecognizerStateChangedEventArgs.cs
- PassportAuthenticationModule.cs
- DataControlFieldCell.cs
- StackBuilderSink.cs
- TransformGroup.cs
- DataGridToolTip.cs
- BaseCodeDomTreeGenerator.cs
- DataTemplate.cs
- TypeResolvingOptionsAttribute.cs
- RemoteX509Token.cs
- InternalsVisibleToAttribute.cs
- DateTimeSerializationSection.cs
- DataServiceHost.cs
- DbConnectionOptions.cs
- TreeViewCancelEvent.cs
- SpellCheck.cs
- AssemblyUtil.cs
- TableLayoutStyle.cs
- Token.cs
- RuntimeConfigurationRecord.cs
- SingleObjectCollection.cs
- WaitHandle.cs
- SendKeys.cs
- DeflateStream.cs
- ElementNotAvailableException.cs
- ClientTarget.cs
- DataControlImageButton.cs
- ServiceBuildProvider.cs
- OleDbStruct.cs
- ContractCodeDomInfo.cs
- XhtmlConformanceSection.cs
- DataControlButton.cs
- RoleManagerModule.cs
- ThumbAutomationPeer.cs
- log.cs
- BooleanToVisibilityConverter.cs
- TrustLevel.cs
- DictionaryContent.cs
- Stylesheet.cs
- BlurBitmapEffect.cs
- DoubleAnimationUsingPath.cs
- SelectingProviderEventArgs.cs
- Matrix.cs
- ProbeMatchesCD1.cs
- Pen.cs
- Panel.cs
- PartBasedPackageProperties.cs
- ToolBarOverflowPanel.cs
- RowSpanVector.cs
- UnionExpr.cs
- WorkflowViewManager.cs
- SettingsPropertyIsReadOnlyException.cs
- DataKeyArray.cs
- IndexerNameAttribute.cs
- ThemeableAttribute.cs
- Input.cs
- PeerNearMe.cs
- BlockCollection.cs
- HttpCacheVaryByContentEncodings.cs
- EntityProviderServices.cs
- Base64Encoder.cs
- MetadataItemEmitter.cs
- TypeFieldSchema.cs
- FlowSwitch.cs
- BaseResourcesBuildProvider.cs
- Statements.cs
- DefaultPropertiesToSend.cs
- PatternMatchRules.cs
- SecurityContextSecurityTokenParameters.cs
- DesignerUtils.cs
- BaseServiceProvider.cs
- Vector3DConverter.cs
- ProfileInfo.cs