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
- OperandQuery.cs
- Constants.cs
- ScrollContentPresenter.cs
- DataGridTable.cs
- FreeFormDragDropManager.cs
- JsonMessageEncoderFactory.cs
- Single.cs
- NavigationCommands.cs
- ClientTargetCollection.cs
- DataSourceCacheDurationConverter.cs
- Polyline.cs
- Logging.cs
- UnionExpr.cs
- StatusBarAutomationPeer.cs
- ManagementObject.cs
- ObjectNavigationPropertyMapping.cs
- Logging.cs
- WebPartMenuStyle.cs
- ErrorHandler.cs
- SqlDataSourceSummaryPanel.cs
- Config.cs
- DBAsyncResult.cs
- XmlUnspecifiedAttribute.cs
- SimplePropertyEntry.cs
- IRCollection.cs
- CacheChildrenQuery.cs
- DetailsViewPageEventArgs.cs
- KeyToListMap.cs
- Wildcard.cs
- SessionState.cs
- FormViewDeletedEventArgs.cs
- ForEachAction.cs
- mactripleDES.cs
- Repeater.cs
- ListView.cs
- CounterCreationDataCollection.cs
- XmlSerializableServices.cs
- ProgressPage.cs
- DataGridViewCellParsingEventArgs.cs
- AppDomainCompilerProxy.cs
- SettingsAttributeDictionary.cs
- ConnectionStringsSection.cs
- OleDbErrorCollection.cs
- QilParameter.cs
- PriorityBinding.cs
- SafeNativeMethodsOther.cs
- RectAnimation.cs
- BaseCollection.cs
- TypefaceMap.cs
- SamlAuthorityBinding.cs
- COAUTHIDENTITY.cs
- HeaderedItemsControl.cs
- EventProviderTraceListener.cs
- ThemeDirectoryCompiler.cs
- DecoderFallbackWithFailureFlag.cs
- DataSourceHelper.cs
- URI.cs
- XmlNotation.cs
- RootContext.cs
- PriorityQueue.cs
- FaultContext.cs
- VisualStates.cs
- SimpleHandlerBuildProvider.cs
- OleDbCommand.cs
- StringUtil.cs
- CodeIterationStatement.cs
- LayoutManager.cs
- TrustLevelCollection.cs
- ReliableMessagingVersion.cs
- CircleHotSpot.cs
- ZoomingMessageFilter.cs
- ToolStripRenderer.cs
- BoundsDrawingContextWalker.cs
- TextPatternIdentifiers.cs
- SqlWebEventProvider.cs
- GcHandle.cs
- ConnectionConsumerAttribute.cs
- Debug.cs
- BuildProviderAppliesToAttribute.cs
- BoundConstants.cs
- SystemThemeKey.cs
- SystemEvents.cs
- XmlSchemaAnyAttribute.cs
- RoleGroupCollection.cs
- SpotLight.cs
- ToolboxItemAttribute.cs
- GetPageCompletedEventArgs.cs
- ToolStripPanelRow.cs
- EncoderParameters.cs
- ReadOnlyCollection.cs
- DataContractJsonSerializerOperationFormatter.cs
- MultipleCopiesCollection.cs
- NameTable.cs
- SoapUnknownHeader.cs
- NoResizeSelectionBorderGlyph.cs
- KoreanCalendar.cs
- FloatAverageAggregationOperator.cs
- EnvelopedPkcs7.cs
- CodeDirectoryCompiler.cs
- SchemaDeclBase.cs