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
- OleDbConnectionPoolGroupProviderInfo.cs
- PixelFormats.cs
- DataObject.cs
- UInt32.cs
- ErrorEventArgs.cs
- CngProvider.cs
- Parser.cs
- NegotiationTokenAuthenticator.cs
- StringInfo.cs
- ShapingEngine.cs
- BuildManager.cs
- LockCookie.cs
- XpsResourcePolicy.cs
- InputLanguageCollection.cs
- UnregisterInfo.cs
- Dump.cs
- ExpressionBuilderContext.cs
- FloatSumAggregationOperator.cs
- OracleRowUpdatingEventArgs.cs
- hresults.cs
- FileDetails.cs
- SynchronousReceiveElement.cs
- DataContractSerializerFaultFormatter.cs
- PropertyMap.cs
- SpinWait.cs
- OLEDB_Enum.cs
- AppDomainFactory.cs
- AmbientValueAttribute.cs
- LinqDataSourceInsertEventArgs.cs
- Column.cs
- StateBag.cs
- HtmlTableCellCollection.cs
- Vector.cs
- DataBindingCollection.cs
- ResolveNameEventArgs.cs
- SecurityContext.cs
- LoadedOrUnloadedOperation.cs
- Message.cs
- SHA1.cs
- BufferAllocator.cs
- FtpRequestCacheValidator.cs
- LogicalTreeHelper.cs
- RemoteWebConfigurationHostStream.cs
- ItemCheckEvent.cs
- EditorPartChrome.cs
- TextModifier.cs
- DataServiceException.cs
- MethodAccessException.cs
- FileSystemEventArgs.cs
- SystemColors.cs
- RadioButton.cs
- DataGridCommandEventArgs.cs
- Block.cs
- AuthenticationService.cs
- Vector3dCollection.cs
- Module.cs
- TextBox.cs
- SharedStatics.cs
- InternalEnumValidatorAttribute.cs
- GenericIdentity.cs
- Predicate.cs
- GridViewDeleteEventArgs.cs
- LicenseContext.cs
- FaultContractAttribute.cs
- HtmlInputHidden.cs
- OutputCacheSettings.cs
- ConstraintCollection.cs
- ComplexType.cs
- AndCondition.cs
- MergeExecutor.cs
- ManipulationDelta.cs
- ControlUtil.cs
- FileCodeGroup.cs
- MethodExpr.cs
- TypeSystem.cs
- TypeDescriptionProvider.cs
- RelationshipDetailsCollection.cs
- SystemIPv6InterfaceProperties.cs
- LineSegment.cs
- SessionEndedEventArgs.cs
- FixedNode.cs
- Directory.cs
- ExceptionHandler.cs
- UIElementPropertyUndoUnit.cs
- SqlBuilder.cs
- ProcessRequestAsyncResult.cs
- SoapConverter.cs
- QueryMath.cs
- QilTargetType.cs
- HandleInitializationContext.cs
- ToolStripDropDown.cs
- DataObjectFieldAttribute.cs
- HttpListenerException.cs
- WebSysDisplayNameAttribute.cs
- XmlAttribute.cs
- CellQuery.cs
- ToolBarPanel.cs
- AlternateView.cs
- HttpValueCollection.cs
- SqlUserDefinedAggregateAttribute.cs