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
- ReadOnlyObservableCollection.cs
- DataGridViewMethods.cs
- SerializationAttributes.cs
- DrawingDrawingContext.cs
- RemoveStoryboard.cs
- SQLInt16.cs
- GenericEnumerator.cs
- OdbcUtils.cs
- ipaddressinformationcollection.cs
- PriorityQueue.cs
- ArgumentValueSerializer.cs
- TextContainerChangeEventArgs.cs
- HtmlLinkAdapter.cs
- TagNameToTypeMapper.cs
- WebPartDeleteVerb.cs
- BuildProvider.cs
- SelectManyQueryOperator.cs
- XsltInput.cs
- Executor.cs
- XmlDocumentViewSchema.cs
- CellTreeSimplifier.cs
- GeometryGroup.cs
- ListBox.cs
- Rethrow.cs
- Link.cs
- BitmapCodecInfo.cs
- BaseDataListDesigner.cs
- ContentType.cs
- EntityDataSourceState.cs
- DataControlButton.cs
- DoubleCollectionValueSerializer.cs
- PerformanceCountersElement.cs
- EntityCommandExecutionException.cs
- Triangle.cs
- HtmlEmptyTagControlBuilder.cs
- Pens.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- HttpModuleAction.cs
- FileUtil.cs
- PrintDialog.cs
- AdapterDictionary.cs
- EmissiveMaterial.cs
- Hash.cs
- SiteMapDataSource.cs
- ValueSerializer.cs
- ChtmlCommandAdapter.cs
- ProgressBarAutomationPeer.cs
- DockPatternIdentifiers.cs
- OrderedHashRepartitionStream.cs
- ProtocolViolationException.cs
- Identity.cs
- MemberHolder.cs
- Stack.cs
- DnsPermission.cs
- RichTextBox.cs
- AffineTransform3D.cs
- CfgParser.cs
- String.cs
- Rules.cs
- _BasicClient.cs
- CommandHelpers.cs
- DictionaryBase.cs
- DataGridTextBoxColumn.cs
- DataGridViewBand.cs
- XmlSchema.cs
- Panel.cs
- ReflectionServiceProvider.cs
- BitConverter.cs
- WebPartVerbsEventArgs.cs
- RankException.cs
- SafeRightsManagementPubHandle.cs
- RelatedPropertyManager.cs
- SHA384.cs
- SingleResultAttribute.cs
- XmlnsCache.cs
- Polyline.cs
- Animatable.cs
- HttpRuntimeSection.cs
- BCLDebug.cs
- printdlgexmarshaler.cs
- BuilderPropertyEntry.cs
- ParagraphVisual.cs
- StringTraceRecord.cs
- PolicyException.cs
- DefaultBinder.cs
- TimeoutValidationAttribute.cs
- InvokePattern.cs
- AutomationIdentifier.cs
- FreezableOperations.cs
- URIFormatException.cs
- ColorContextHelper.cs
- CompilationLock.cs
- SQLBinary.cs
- BitmapImage.cs
- CodeConditionStatement.cs
- Vector3DAnimation.cs
- ViewEventArgs.cs
- hresults.cs
- PolicyLevel.cs
- ReferenceList.cs