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
- BoundColumn.cs
- FreezableOperations.cs
- CoreSwitches.cs
- ConnectionsZone.cs
- WinCategoryAttribute.cs
- NativeRecognizer.cs
- ColorConvertedBitmap.cs
- XPathDescendantIterator.cs
- ComboBoxDesigner.cs
- clipboard.cs
- EncoderReplacementFallback.cs
- ParsedAttributeCollection.cs
- ProxySimple.cs
- LineSegment.cs
- WorkerProcess.cs
- DateTimeConstantAttribute.cs
- PhysicalFontFamily.cs
- CodeAccessPermission.cs
- EnumType.cs
- DesignerAutoFormatCollection.cs
- CurrencyManager.cs
- XmlAttributeAttribute.cs
- MachineKeySection.cs
- RootProfilePropertySettingsCollection.cs
- TemplateKeyConverter.cs
- OverloadGroupAttribute.cs
- HyperlinkAutomationPeer.cs
- Control.cs
- TableLayoutPanelCellPosition.cs
- AudioException.cs
- ChineseLunisolarCalendar.cs
- ByteConverter.cs
- BitmapEffectDrawingContextWalker.cs
- Enum.cs
- LocalizedNameDescriptionPair.cs
- Iis7Helper.cs
- OlePropertyStructs.cs
- Inflater.cs
- webeventbuffer.cs
- SystemWebSectionGroup.cs
- TriggerActionCollection.cs
- Span.cs
- DataKeyCollection.cs
- StringUtil.cs
- TraceEventCache.cs
- PackWebRequestFactory.cs
- TableCell.cs
- ADConnectionHelper.cs
- ReversePositionQuery.cs
- HttpListenerRequest.cs
- WebPartsSection.cs
- JsonXmlDataContract.cs
- HttpModule.cs
- IncomingWebResponseContext.cs
- SqlDataSourceWizardForm.cs
- XsltSettings.cs
- X509Utils.cs
- TextUtf8RawTextWriter.cs
- assertwrapper.cs
- HMAC.cs
- CmsInterop.cs
- StrokeNode.cs
- ProtocolReflector.cs
- ResourcePool.cs
- EventLogPermission.cs
- Win32.cs
- PathGeometry.cs
- BitmapFrameDecode.cs
- CircleHotSpot.cs
- ClientCredentials.cs
- DiagnosticStrings.cs
- RoutedCommand.cs
- URLMembershipCondition.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- DesignOnlyAttribute.cs
- RegionData.cs
- PropertyDescriptorCollection.cs
- DetailsViewDesigner.cs
- TemplateApplicationHelper.cs
- CacheSection.cs
- CustomGrammar.cs
- MediaTimeline.cs
- URLString.cs
- AuthenticationService.cs
- IdentitySection.cs
- UpdatePanelControlTrigger.cs
- StringToken.cs
- EditorPartCollection.cs
- X509Extension.cs
- ReceiveMessageAndVerifySecurityAsyncResultBase.cs
- _LocalDataStoreMgr.cs
- RowParagraph.cs
- RectAnimationUsingKeyFrames.cs
- AssemblyBuilderData.cs
- WizardForm.cs
- XmlSubtreeReader.cs
- CodeLabeledStatement.cs
- DetailsViewRow.cs
- Line.cs
- UrlPath.cs