Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / 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.
//------------------------------------------------------------------------------
//
// 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XhtmlBasicLabelAdapter.cs
- UnauthorizedAccessException.cs
- CustomSignedXml.cs
- SettingsSavedEventArgs.cs
- XmlDocumentSurrogate.cs
- AttributeTableBuilder.cs
- DataSourceControl.cs
- SqlProviderUtilities.cs
- NativeActivityContext.cs
- InOutArgumentConverter.cs
- StylusPointDescription.cs
- OpenFileDialog.cs
- XNodeValidator.cs
- ProviderCommandInfoUtils.cs
- PtsCache.cs
- WorkflowViewManager.cs
- UrlMapping.cs
- ApplicationActivator.cs
- SerializationEventsCache.cs
- DataSetUtil.cs
- LicenseException.cs
- PrefixHandle.cs
- ErrorRuntimeConfig.cs
- NoneExcludedImageIndexConverter.cs
- Dispatcher.cs
- PlanCompiler.cs
- MobileControlPersister.cs
- SAPIEngineTypes.cs
- NGCSerializationManager.cs
- ParseHttpDate.cs
- TemplateKey.cs
- DayRenderEvent.cs
- ListViewSortEventArgs.cs
- DataMemberListEditor.cs
- ResourceAttributes.cs
- PlainXmlWriter.cs
- NativeMethods.cs
- ToolStripSettings.cs
- SemaphoreFullException.cs
- DataTemplateKey.cs
- AcceptorSessionSymmetricMessageSecurityProtocol.cs
- TagMapInfo.cs
- MessageSmuggler.cs
- PolygonHotSpot.cs
- SQLSingleStorage.cs
- ToolboxComponentsCreatingEventArgs.cs
- ObjectKeyFrameCollection.cs
- FacetChecker.cs
- GPRECTF.cs
- coordinator.cs
- SymLanguageType.cs
- ListViewDeletedEventArgs.cs
- SqlConnectionPoolProviderInfo.cs
- TextFormatterHost.cs
- SharedPerformanceCounter.cs
- ObjectContext.cs
- EventLogRecord.cs
- ColorPalette.cs
- ListItemCollection.cs
- SimpleBitVector32.cs
- UrlPropertyAttribute.cs
- DivideByZeroException.cs
- DesignerRegion.cs
- PersonalizationState.cs
- StylusSystemGestureEventArgs.cs
- StringPropertyBuilder.cs
- DataAdapter.cs
- SqlBulkCopyColumnMappingCollection.cs
- WindowExtensionMethods.cs
- XMLUtil.cs
- EntityContainerRelationshipSet.cs
- ADRole.cs
- RegexReplacement.cs
- BlurEffect.cs
- ComponentSerializationService.cs
- QuotedPrintableStream.cs
- DesignOnlyAttribute.cs
- SiteMapNode.cs
- EasingQuaternionKeyFrame.cs
- TypeListConverter.cs
- StyleCollection.cs
- RequestResizeEvent.cs
- OperandQuery.cs
- ExpressionParser.cs
- PointConverter.cs
- RoutedUICommand.cs
- EncryptedData.cs
- XmlUtilWriter.cs
- BindingCompleteEventArgs.cs
- ResourceExpressionEditorSheet.cs
- StsCommunicationException.cs
- OrthographicCamera.cs
- IdnElement.cs
- OpenCollectionAsyncResult.cs
- ScrollChrome.cs
- WindowsBrush.cs
- HighlightOverlayGlyph.cs
- ToolStripItemImageRenderEventArgs.cs
- WebPartUserCapability.cs
- SafeIUnknown.cs