Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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. // //----------------------------------------------------------------------------- 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ClonableStack.cs
- PackageRelationship.cs
- DataSourceControlBuilder.cs
- ListCollectionView.cs
- TrimSurroundingWhitespaceAttribute.cs
- ObjectListComponentEditor.cs
- ComponentDispatcherThread.cs
- SafeNativeMethods.cs
- InternalSafeNativeMethods.cs
- DigitalSignatureProvider.cs
- SecurityContextTokenCache.cs
- XmlSchemaAll.cs
- BreakSafeBase.cs
- KnownTypes.cs
- ViewValidator.cs
- SqlCrossApplyToCrossJoin.cs
- SuppressMergeCheckAttribute.cs
- UpdatePanelTrigger.cs
- ProvidePropertyAttribute.cs
- LayoutDump.cs
- EntityTypeEmitter.cs
- RegexInterpreter.cs
- DaylightTime.cs
- XmlBoundElement.cs
- SQLGuid.cs
- NameValueCollection.cs
- WebPageTraceListener.cs
- ServicePointManager.cs
- StdValidatorsAndConverters.cs
- CapabilitiesPattern.cs
- UniqueContractNameValidationBehavior.cs
- HyperLinkStyle.cs
- MetabaseServerConfig.cs
- EnlistmentTraceIdentifier.cs
- StructuredTypeEmitter.cs
- RayHitTestParameters.cs
- Geometry.cs
- LogExtentCollection.cs
- XmlSchemaObjectCollection.cs
- TrackingDataItemValue.cs
- HostedTransportConfigurationManager.cs
- MarginCollapsingState.cs
- NextPreviousPagerField.cs
- MsmqAuthenticationMode.cs
- _SingleItemRequestCache.cs
- ThreadLocal.cs
- DataStorage.cs
- TreeNode.cs
- CredentialSelector.cs
- SecondaryViewProvider.cs
- TimeManager.cs
- StdRegProviderWrapper.cs
- TerminatorSinks.cs
- SqlWorkflowInstanceStore.cs
- HandoffBehavior.cs
- WebControl.cs
- OracleEncoding.cs
- XPathNodeInfoAtom.cs
- DataSourceXmlAttributeAttribute.cs
- TemplateBamlTreeBuilder.cs
- AccessDataSourceDesigner.cs
- ListBase.cs
- XmlFormatMapping.cs
- DynamicDocumentPaginator.cs
- TextRunProperties.cs
- CodeNamespaceImportCollection.cs
- Pair.cs
- SystemIPGlobalProperties.cs
- InfoCardTrace.cs
- FormsAuthenticationUser.cs
- PassportAuthentication.cs
- CompletedAsyncResult.cs
- PackageStore.cs
- ConfigXmlWhitespace.cs
- SignatureToken.cs
- FlagsAttribute.cs
- SettingsBindableAttribute.cs
- PolyQuadraticBezierSegment.cs
- SpeakInfo.cs
- ParallelTimeline.cs
- XmlRawWriterWrapper.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- SqlDataReaderSmi.cs
- SiteIdentityPermission.cs
- Geometry3D.cs
- ButtonPopupAdapter.cs
- InternalReceiveMessage.cs
- ComponentCollection.cs
- EnumValidator.cs
- HttpHandler.cs
- UrlUtility.cs
- MSAANativeProvider.cs
- CacheMemory.cs
- Transform3D.cs
- StructuredTypeEmitter.cs
- DropDownHolder.cs
- Lasso.cs
- PageHandlerFactory.cs
- MediaScriptCommandRoutedEventArgs.cs
- MsmqInputSessionChannelListener.cs