Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CryptographicAttribute.cs
- FixedSOMLineCollection.cs
- SqlParameterCollection.cs
- WindowHideOrCloseTracker.cs
- ParameterExpression.cs
- Utils.cs
- SecondaryIndexList.cs
- ResourceDescriptionAttribute.cs
- WorkflowIdleElement.cs
- RelationalExpressions.cs
- AVElementHelper.cs
- UnsafeNativeMethods.cs
- hresults.cs
- CodeTryCatchFinallyStatement.cs
- XPathDocument.cs
- SoundPlayerAction.cs
- FreeIndexList.cs
- MethodToken.cs
- SqlError.cs
- StaticContext.cs
- DependencyObject.cs
- BitmapVisualManager.cs
- XmlBaseReader.cs
- ResourceSet.cs
- OutputBuffer.cs
- ExcludeFromCodeCoverageAttribute.cs
- ComponentSerializationService.cs
- HtmlShimManager.cs
- XPathQueryGenerator.cs
- CTreeGenerator.cs
- BitmapDownload.cs
- RegistryKey.cs
- MsdtcWrapper.cs
- SettingsPropertyValue.cs
- DiscreteKeyFrames.cs
- DataRowComparer.cs
- DataGridViewColumnEventArgs.cs
- NumberSubstitution.cs
- BuildProvider.cs
- ResourceReferenceExpressionConverter.cs
- Rect3D.cs
- ReceiveDesigner.xaml.cs
- ReadingWritingEntityEventArgs.cs
- CommonDialog.cs
- VirtualizedContainerService.cs
- WebUtil.cs
- XmlDataLoader.cs
- PopupEventArgs.cs
- Line.cs
- InheritablePropertyChangeInfo.cs
- PixelFormatConverter.cs
- TextEditorCopyPaste.cs
- IdentityManager.cs
- IntSecurity.cs
- MultipleViewProviderWrapper.cs
- OleDragDropHandler.cs
- UpdateCommand.cs
- X509CertificateInitiatorServiceCredential.cs
- UnsafeNativeMethodsPenimc.cs
- SqlInternalConnectionSmi.cs
- AssemblyBuilder.cs
- ObjectView.cs
- CrossAppDomainChannel.cs
- _DynamicWinsockMethods.cs
- CheckPair.cs
- RegexStringValidatorAttribute.cs
- NativeMethods.cs
- RecognitionResult.cs
- CommandTreeTypeHelper.cs
- PersonalizationStateQuery.cs
- AsyncOperation.cs
- RightsManagementEncryptedStream.cs
- ConfigurationManagerHelperFactory.cs
- ContentHostHelper.cs
- EmbeddedMailObjectsCollection.cs
- CodeNamespaceImport.cs
- PerCallInstanceContextProvider.cs
- Pair.cs
- OperationGenerator.cs
- VisualStateChangedEventArgs.cs
- UrlMappingsModule.cs
- FunctionParameter.cs
- TypeDelegator.cs
- MultiSelector.cs
- StatusBar.cs
- versioninfo.cs
- COAUTHIDENTITY.cs
- CodeSubDirectory.cs
- DbConnectionOptions.cs
- MailAddress.cs
- TypeUsage.cs
- Rijndael.cs
- WindowsSysHeader.cs
- RegisterResponseInfo.cs
- MemoryStream.cs
- VectorAnimation.cs
- MenuRendererClassic.cs
- LicenseContext.cs
- ModelItemDictionaryImpl.cs
- ClientUrlResolverWrapper.cs