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
- EntityDesignPluralizationHandler.cs
- SiteMapSection.cs
- TextContainerChangedEventArgs.cs
- DateTimeValueSerializerContext.cs
- ReturnType.cs
- SyndicationElementExtensionCollection.cs
- CapabilitiesRule.cs
- PerfService.cs
- ActiveDocumentEvent.cs
- BaseAddressElement.cs
- Vector3DIndependentAnimationStorage.cs
- SystemFonts.cs
- SqlMethodAttribute.cs
- ToolStripArrowRenderEventArgs.cs
- Rect3DConverter.cs
- ExtensionFile.cs
- XamlNamespaceHelper.cs
- PropertyEntry.cs
- VideoDrawing.cs
- basecomparevalidator.cs
- KnownBoxes.cs
- LayoutUtils.cs
- StringOutput.cs
- SafeNativeMemoryHandle.cs
- ControlEvent.cs
- ImageFormat.cs
- CultureTable.cs
- HandleInitializationContext.cs
- Exceptions.cs
- HierarchicalDataBoundControlAdapter.cs
- IndentedTextWriter.cs
- DesignerTextBoxAdapter.cs
- ChangePassword.cs
- PerfProviderCollection.cs
- UnmanagedBitmapWrapper.cs
- AdapterDictionary.cs
- PackageRelationshipCollection.cs
- XmlDictionaryReader.cs
- ConvertersCollection.cs
- DigestTraceRecordHelper.cs
- MasterPageParser.cs
- Processor.cs
- ThemeableAttribute.cs
- InternalsVisibleToAttribute.cs
- ISO2022Encoding.cs
- CreateUserWizard.cs
- XhtmlBasicPageAdapter.cs
- DesignOnlyAttribute.cs
- PrePostDescendentsWalker.cs
- Int64Animation.cs
- QilLiteral.cs
- RenderContext.cs
- _CacheStreams.cs
- SelectionWordBreaker.cs
- FixedBufferAttribute.cs
- DataKeyArray.cs
- SamlAssertionKeyIdentifierClause.cs
- ValidationError.cs
- _SecureChannel.cs
- DataGridHeaderBorder.cs
- PolicyManager.cs
- Int64Animation.cs
- ValidationErrorInfo.cs
- HttpRequest.cs
- XmlWriterSettings.cs
- BackStopAuthenticationModule.cs
- ApplicationInfo.cs
- BoolExpression.cs
- FilterElement.cs
- ViewManagerAttribute.cs
- AlphabeticalEnumConverter.cs
- CapabilitiesAssignment.cs
- SessionStateContainer.cs
- XslCompiledTransform.cs
- RegexCaptureCollection.cs
- WindowsProgressbar.cs
- FixedHyperLink.cs
- DesignerActionUI.cs
- ISO2022Encoding.cs
- CellParaClient.cs
- ListViewItem.cs
- TogglePattern.cs
- FtpCachePolicyElement.cs
- IERequestCache.cs
- ImageInfo.cs
- XmlWrappingWriter.cs
- CodeStatementCollection.cs
- XmlWhitespace.cs
- SqlVisitor.cs
- EndpointDispatcherTable.cs
- PageWrapper.cs
- ScrollBarRenderer.cs
- NavigationProperty.cs
- QilReplaceVisitor.cs
- WebBrowserUriTypeConverter.cs
- ContentControl.cs
- CodeTypeConstructor.cs
- OdbcEnvironment.cs
- MessageDecoder.cs
- FormatException.cs