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
- ObjectSecurityT.cs
- BufferedReadStream.cs
- CommaDelimitedStringAttributeCollectionConverter.cs
- KeyGesture.cs
- SecurityProtocol.cs
- AtomEntry.cs
- ObfuscateAssemblyAttribute.cs
- InlineCollection.cs
- ContractType.cs
- Menu.cs
- _NegotiateClient.cs
- GroupStyle.cs
- TypeConverterBase.cs
- DetailsViewPageEventArgs.cs
- XmlComment.cs
- VirtualPathData.cs
- QilExpression.cs
- PasswordTextNavigator.cs
- InfocardClientCredentials.cs
- DataGridViewColumnCollectionEditor.cs
- VerbConverter.cs
- ExceptionHandlersDesigner.cs
- BaseProcessor.cs
- DetailsViewPageEventArgs.cs
- SiteMapSection.cs
- Int64Animation.cs
- HttpClientCertificate.cs
- WebServiceAttribute.cs
- ComponentEvent.cs
- ContextMenu.cs
- TransactionManager.cs
- DbConnectionPoolIdentity.cs
- SingleObjectCollection.cs
- DirectoryLocalQuery.cs
- AutomationProperties.cs
- DataColumnMapping.cs
- WebPartVerbsEventArgs.cs
- SinglePageViewer.cs
- ManifestResourceInfo.cs
- _SSPIWrapper.cs
- OpacityConverter.cs
- CommonDialog.cs
- PathSegmentCollection.cs
- SqlReferenceCollection.cs
- ListBoxDesigner.cs
- DebugInfo.cs
- UniqueSet.cs
- NegationPusher.cs
- CalculatedColumn.cs
- XmlnsCompatibleWithAttribute.cs
- GCHandleCookieTable.cs
- regiisutil.cs
- ConfigurationLocationCollection.cs
- NamespaceListProperty.cs
- HostingEnvironmentException.cs
- NativeMethods.cs
- CodeSubDirectoriesCollection.cs
- TreeViewCancelEvent.cs
- WebPartConnectionsDisconnectVerb.cs
- DataGridViewTextBoxColumn.cs
- TextWriterTraceListener.cs
- ElementNotEnabledException.cs
- CultureNotFoundException.cs
- ChangePassword.cs
- RequestUriProcessor.cs
- ObjectDataSourceSelectingEventArgs.cs
- ConfigXmlReader.cs
- PublishLicense.cs
- ConditionalAttribute.cs
- ApplicationManager.cs
- BuilderPropertyEntry.cs
- ApplicationSettingsBase.cs
- ImmutableObjectAttribute.cs
- TemplatePagerField.cs
- FileDialogPermission.cs
- Roles.cs
- QueryableFilterRepeater.cs
- SqlReferenceCollection.cs
- CodeEntryPointMethod.cs
- EditorZoneBase.cs
- _ListenerResponseStream.cs
- FilteredSchemaElementLookUpTable.cs
- externdll.cs
- SoapElementAttribute.cs
- XmlNode.cs
- WebZoneDesigner.cs
- HandleDictionary.cs
- XmlTextReader.cs
- DirtyTextRange.cs
- BitVec.cs
- CheckBoxFlatAdapter.cs
- DockingAttribute.cs
- Material.cs
- storepermissionattribute.cs
- PackageProperties.cs
- DataSysAttribute.cs
- JpegBitmapEncoder.cs
- LocalizableAttribute.cs
- Queue.cs
- SHA512Cng.cs