Code:
/ FX-1434 / FX-1434 / 1.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
- HtmlToClrEventProxy.cs
- HttpHandlerActionCollection.cs
- RotationValidation.cs
- Property.cs
- ItemContainerGenerator.cs
- XmlCharCheckingReader.cs
- NumberSubstitution.cs
- IsolatedStorage.cs
- TableDetailsRow.cs
- NextPreviousPagerField.cs
- DesignerCategoryAttribute.cs
- HtmlTableCell.cs
- PromptEventArgs.cs
- x509store.cs
- DeviceFiltersSection.cs
- ErrorFormatter.cs
- AutoScrollHelper.cs
- ExcCanonicalXml.cs
- RC2CryptoServiceProvider.cs
- InputMethodStateTypeInfo.cs
- SynchronizedDispatch.cs
- PageVisual.cs
- BooleanExpr.cs
- DataGridViewLayoutData.cs
- AdditionalEntityFunctions.cs
- ServicePointManagerElement.cs
- sqlmetadatafactory.cs
- SqlRemoveConstantOrderBy.cs
- RangeEnumerable.cs
- MILUtilities.cs
- TextEndOfParagraph.cs
- BackStopAuthenticationModule.cs
- ConfigurationValidatorAttribute.cs
- GeneralTransform3DTo2D.cs
- DataPagerFieldCollection.cs
- InvalidEnumArgumentException.cs
- exports.cs
- BindingMemberInfo.cs
- SqlRetyper.cs
- Error.cs
- UserPreferenceChangedEventArgs.cs
- Int32Converter.cs
- EventLevel.cs
- DataColumnPropertyDescriptor.cs
- MutexSecurity.cs
- DataGridComboBoxColumn.cs
- HttpStreamFormatter.cs
- TimelineClockCollection.cs
- LocatorPart.cs
- DefinitionUpdate.cs
- CornerRadius.cs
- SizeAnimationBase.cs
- DataTableClearEvent.cs
- ExcludeFromCodeCoverageAttribute.cs
- TraceXPathNavigator.cs
- CheckBoxFlatAdapter.cs
- StrokeIntersection.cs
- CalendarDataBindingHandler.cs
- TryCatchDesigner.xaml.cs
- ContourSegment.cs
- TypeSystem.cs
- DoubleConverter.cs
- XmlDataSourceNodeDescriptor.cs
- XmlDataProvider.cs
- Error.cs
- SubMenuStyleCollection.cs
- ParsedAttributeCollection.cs
- _NetworkingPerfCounters.cs
- PositiveTimeSpanValidatorAttribute.cs
- SimpleHandlerFactory.cs
- AccessViolationException.cs
- StructuralObject.cs
- ClientSideQueueItem.cs
- SuppressMessageAttribute.cs
- CursorConverter.cs
- SqlProfileProvider.cs
- WindowsSolidBrush.cs
- AssemblyNameEqualityComparer.cs
- WebScriptEnablingElement.cs
- StatusBarDrawItemEvent.cs
- ObjectListSelectEventArgs.cs
- DocumentGridPage.cs
- AdapterDictionary.cs
- TableRowCollection.cs
- HtmlUtf8RawTextWriter.cs
- DesignerLoader.cs
- LabelEditEvent.cs
- TypeConverterAttribute.cs
- XmlIterators.cs
- SHA256Cng.cs
- XmlNamespaceDeclarationsAttribute.cs
- DataGridViewCellEventArgs.cs
- ImplicitInputBrush.cs
- HTMLTagNameToTypeMapper.cs
- BlobPersonalizationState.cs
- ScriptRef.cs
- TraceHandlerErrorFormatter.cs
- ErrorWebPart.cs
- DataChangedEventManager.cs
- BrushMappingModeValidation.cs