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
- DataMember.cs
- SQLDateTime.cs
- RuleValidation.cs
- QuaternionAnimation.cs
- DefaultMemberAttribute.cs
- ProgressBar.cs
- ParseNumbers.cs
- VariableQuery.cs
- Screen.cs
- KeyToListMap.cs
- EdmSchemaAttribute.cs
- DataSetUtil.cs
- DataSource.cs
- PersonalizationStateQuery.cs
- RsaKeyIdentifierClause.cs
- CodeTypeParameterCollection.cs
- DataAdapter.cs
- HttpListenerContext.cs
- MatrixTransform3D.cs
- EasingKeyFrames.cs
- XsltConvert.cs
- TreeViewItem.cs
- HttpCachePolicyElement.cs
- ConfigXmlElement.cs
- SelectionProcessor.cs
- SecurityContext.cs
- MenuEventArgs.cs
- Timeline.cs
- SlipBehavior.cs
- AssociationSet.cs
- Descriptor.cs
- VerbConverter.cs
- RelationshipType.cs
- PtsContext.cs
- PersonalizationStateInfo.cs
- Throw.cs
- DataSourceNameHandler.cs
- ParallelEnumerable.cs
- ToolStripSplitStackLayout.cs
- InputLanguageEventArgs.cs
- SymbolEqualComparer.cs
- MouseGestureValueSerializer.cs
- ColorMatrix.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- InstanceHandle.cs
- EnumValidator.cs
- ComponentRenameEvent.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- WriteLineDesigner.xaml.cs
- CharConverter.cs
- InternalCache.cs
- BlockCollection.cs
- ResourceContainerWrapper.cs
- LayoutEditorPart.cs
- SharedPerformanceCounter.cs
- ColorDialog.cs
- MutexSecurity.cs
- AutomationPatternInfo.cs
- BaseDataBoundControl.cs
- Pts.cs
- CharUnicodeInfo.cs
- ArgumentsParser.cs
- ScriptReference.cs
- Storyboard.cs
- XmlSerializerVersionAttribute.cs
- IsolatedStorageFilePermission.cs
- SamlAssertion.cs
- TrackingMemoryStream.cs
- CreateRefExpr.cs
- RegexCharClass.cs
- PathSegment.cs
- Atom10ItemFormatter.cs
- SwitchLevelAttribute.cs
- ToolStripScrollButton.cs
- ToolStripPanelCell.cs
- HttpResponseWrapper.cs
- WaitHandle.cs
- BufferBuilder.cs
- ButtonAutomationPeer.cs
- RewritingPass.cs
- ValidatorCollection.cs
- SuppressIldasmAttribute.cs
- StringFunctions.cs
- TypeDescriptionProviderAttribute.cs
- PathSegmentCollection.cs
- SmtpLoginAuthenticationModule.cs
- QueryableDataSourceView.cs
- XPathNavigatorReader.cs
- AbandonedMutexException.cs
- EventlogProvider.cs
- TileBrush.cs
- Types.cs
- AttachedPropertyBrowsableAttribute.cs
- ImageFormat.cs
- LogConverter.cs
- SerialPinChanges.cs
- InfocardInteractiveChannelInitializer.cs
- AsyncPostBackErrorEventArgs.cs
- SQLGuid.cs
- CheckBox.cs