Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AlignmentXValidation.cs
- BooleanToVisibilityConverter.cs
- MarkupWriter.cs
- ApplicationTrust.cs
- HttpRuntimeSection.cs
- TaiwanCalendar.cs
- Int32CAMarshaler.cs
- ContextToken.cs
- WorkflowRuntimeBehavior.cs
- NonClientArea.cs
- Preprocessor.cs
- contentDescriptor.cs
- NameService.cs
- HttpWebRequest.cs
- MergeFilterQuery.cs
- AbandonedMutexException.cs
- OrderToken.cs
- Collection.cs
- CollectionViewGroupInternal.cs
- OraclePermission.cs
- XsdSchemaFileEditor.cs
- BindingBase.cs
- DbConnectionPoolCounters.cs
- _ConnectStream.cs
- QilLiteral.cs
- NavigationPropertyEmitter.cs
- DateTimeConverter2.cs
- CultureInfoConverter.cs
- FillErrorEventArgs.cs
- ViewBox.cs
- PropertyGridCommands.cs
- ReferenceEqualityComparer.cs
- CachingHintValidation.cs
- MDIWindowDialog.cs
- SchemaTableColumn.cs
- State.cs
- CodeTypeParameter.cs
- DataGridViewColumnStateChangedEventArgs.cs
- HtmlWindow.cs
- Timer.cs
- SqlDataReaderSmi.cs
- FullTextState.cs
- EnumCodeDomSerializer.cs
- SessionStateModule.cs
- SliderAutomationPeer.cs
- LassoSelectionBehavior.cs
- RelatedEnd.cs
- SimpleHandlerFactory.cs
- HtmlDocument.cs
- DesignerVerbCollection.cs
- MergeFailedEvent.cs
- ListenerServiceInstallComponent.cs
- MenuItemBinding.cs
- PolyBezierSegmentFigureLogic.cs
- WebRequest.cs
- BitmapScalingModeValidation.cs
- CodeCompileUnit.cs
- IndentedWriter.cs
- TrustLevel.cs
- SqlStatistics.cs
- WebConfigurationHostFileChange.cs
- MetafileHeaderEmf.cs
- MailDefinition.cs
- EndPoint.cs
- RowsCopiedEventArgs.cs
- EncoderBestFitFallback.cs
- RegistryKey.cs
- Stylus.cs
- DateTimeUtil.cs
- FileSystemInfo.cs
- EnumerableCollectionView.cs
- XmlNotation.cs
- WorkflowInstanceQuery.cs
- WebPartConnectionsConfigureVerb.cs
- FileInfo.cs
- Stylesheet.cs
- CodeChecksumPragma.cs
- SamlSubject.cs
- MsdtcClusterUtils.cs
- PaperSize.cs
- SafeEventLogWriteHandle.cs
- SchemaImporterExtensionElementCollection.cs
- CalendarData.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- DropShadowBitmapEffect.cs
- safex509handles.cs
- CoreSwitches.cs
- DBParameter.cs
- BitmapSizeOptions.cs
- SR.cs
- Int32AnimationBase.cs
- StoreItemCollection.cs
- XPathNodeHelper.cs
- CustomBinding.cs
- DbDataRecord.cs
- OdbcConnectionPoolProviderInfo.cs
- MethodRental.cs
- ParallelRangeManager.cs
- PageCatalogPart.cs
- rsa.cs