Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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 } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ObjRef.cs
- AlternateView.cs
- RootProfilePropertySettingsCollection.cs
- DownloadProgressEventArgs.cs
- MsmqException.cs
- IdleTimeoutMonitor.cs
- MDIClient.cs
- TimelineGroup.cs
- TreeNodeCollectionEditor.cs
- ZoneMembershipCondition.cs
- WSHttpBindingBase.cs
- List.cs
- BooleanFunctions.cs
- _AutoWebProxyScriptHelper.cs
- ConstructorExpr.cs
- PropertyRecord.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- CollectionsUtil.cs
- ErrorCodes.cs
- StandardTransformFactory.cs
- SHA384Managed.cs
- LocationUpdates.cs
- WebControlAdapter.cs
- OdbcException.cs
- TimerElapsedEvenArgs.cs
- XmlElementList.cs
- OracleConnectionFactory.cs
- CopyAttributesAction.cs
- DNS.cs
- CompoundFileIOPermission.cs
- _Semaphore.cs
- ImageButton.cs
- Lookup.cs
- Events.cs
- MessageBox.cs
- CaseStatement.cs
- ConnectionInterfaceCollection.cs
- Merger.cs
- ResXResourceReader.cs
- InitiatorSessionSymmetricMessageSecurityProtocol.cs
- ProtocolsSection.cs
- SafeNativeMethods.cs
- UnmanagedBitmapWrapper.cs
- LexicalChunk.cs
- SID.cs
- VBCodeProvider.cs
- ConfigurationStrings.cs
- InputManager.cs
- TraceInternal.cs
- MemberDescriptor.cs
- HttpInputStream.cs
- TextFindEngine.cs
- InvalidDataException.cs
- Int64AnimationUsingKeyFrames.cs
- XamlHostingSection.cs
- OpacityConverter.cs
- CellParagraph.cs
- AdCreatedEventArgs.cs
- KeyValueInternalCollection.cs
- SafeNativeMethods.cs
- ReflectionPermission.cs
- DynamicMethod.cs
- FunctionDescription.cs
- MemberInitExpression.cs
- ZipIOLocalFileBlock.cs
- WriteLine.cs
- TraceLog.cs
- QilStrConcatenator.cs
- ExitEventArgs.cs
- StyleCollection.cs
- BamlReader.cs
- SoapProtocolReflector.cs
- SqlCharStream.cs
- XmlMembersMapping.cs
- BitmapEffectInputData.cs
- ReflectionHelper.cs
- FontStretch.cs
- ParameterModifier.cs
- ReliableChannelFactory.cs
- BoolLiteral.cs
- ApplicationDirectoryMembershipCondition.cs
- XmlDataFileEditor.cs
- IPAddressCollection.cs
- Focus.cs
- InputBinding.cs
- DataServiceHost.cs
- ConditionalBranch.cs
- TextTabProperties.cs
- DataObjectFieldAttribute.cs
- SessionViewState.cs
- PropVariant.cs
- PropertyPathConverter.cs
- JoinTreeSlot.cs
- WorkflowInstanceSuspendedRecord.cs
- ResourceExpressionEditor.cs
- SchemaSetCompiler.cs
- DbConnectionOptions.cs
- HttpCacheVaryByContentEncodings.cs
- CodeSnippetTypeMember.cs
- FlowDocumentReaderAutomationPeer.cs