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
- AdditionalEntityFunctions.cs
- FileInfo.cs
- ArraySubsetEnumerator.cs
- FileSystemInfo.cs
- SQLSingle.cs
- DirectoryObjectSecurity.cs
- CopyAction.cs
- XmlSchemaCompilationSettings.cs
- Italic.cs
- DataGridPageChangedEventArgs.cs
- MyContact.cs
- URLIdentityPermission.cs
- SoapElementAttribute.cs
- RegexRunnerFactory.cs
- StrokeNode.cs
- BaseProcessor.cs
- DSASignatureDeformatter.cs
- NetworkInterface.cs
- XmlSignificantWhitespace.cs
- XsltConvert.cs
- IsolatedStorageFile.cs
- Stroke.cs
- StringKeyFrameCollection.cs
- DiscreteKeyFrames.cs
- WmpBitmapEncoder.cs
- ApplicationServicesHostFactory.cs
- ByteStreamGeometryContext.cs
- Authorization.cs
- MDIClient.cs
- SecurityTokenResolver.cs
- WindowsAuthenticationModule.cs
- bindurihelper.cs
- Zone.cs
- GridViewColumnCollectionChangedEventArgs.cs
- ContextBase.cs
- __ConsoleStream.cs
- xsdvalidator.cs
- ContractTypeNameCollection.cs
- AssemblyUtil.cs
- NamedPipeAppDomainProtocolHandler.cs
- TextRangeProviderWrapper.cs
- ThemeDirectoryCompiler.cs
- SingleAnimation.cs
- XmlDomTextWriter.cs
- ScriptIgnoreAttribute.cs
- ScrollChrome.cs
- RoutedEventHandlerInfo.cs
- ThemeInfoAttribute.cs
- SiteOfOriginPart.cs
- XmlUtilWriter.cs
- FormsAuthenticationModule.cs
- FlowLayoutPanel.cs
- Span.cs
- Identity.cs
- XmlMtomWriter.cs
- ListDataHelper.cs
- DataServiceContext.cs
- ExecutedRoutedEventArgs.cs
- NotSupportedException.cs
- SchemaTypeEmitter.cs
- PolygonHotSpot.cs
- ServiceDebugBehavior.cs
- DictionaryBase.cs
- TemplateBuilder.cs
- Delegate.cs
- XPathException.cs
- FileUtil.cs
- DiscoveryDocumentSerializer.cs
- MdiWindowListItemConverter.cs
- Constraint.cs
- TextCollapsingProperties.cs
- SaveFileDialog.cs
- GestureRecognizer.cs
- SafeCoTaskMem.cs
- DataTable.cs
- PageCodeDomTreeGenerator.cs
- IPipelineRuntime.cs
- GenericIdentity.cs
- OdbcException.cs
- SdlChannelSink.cs
- StringSource.cs
- ExportOptions.cs
- SafeSecurityHandles.cs
- IndexingContentUnit.cs
- MappableObjectManager.cs
- User.cs
- DictionarySectionHandler.cs
- SamlAttribute.cs
- UnionQueryOperator.cs
- VoiceSynthesis.cs
- RepeatBehavior.cs
- DataSetFieldSchema.cs
- TreeNodeBinding.cs
- HybridDictionary.cs
- SvcMapFileLoader.cs
- ExpressionList.cs
- XmlWriterSettings.cs
- ServiceModelEnumValidator.cs
- ComponentGlyph.cs
- AuthorizationSection.cs