Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebControls / ReadOnlyDataSource.cs / 1305376 / ReadOnlyDataSource.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 data bound controls to wrap an generic data source /// with a strongly typed IDataSource. This class automatically handles /// other IDataSources, IEnumerable, and IListSource objects. /// This class uses ReadOnlyDataSourceView to represent individual views. /// internal sealed class ReadOnlyDataSource : IDataSource { private static string[] ViewNames = new string[0]; private string _dataMember; private object _dataSource; public ReadOnlyDataSource(object dataSource, string dataMember) { Debug.Assert(dataSource == null || (dataSource is IEnumerable || dataSource is IDataSource || dataSource is IListSource), "Expected dataSource to be either null, an IEnumerable, an IDataSource, or an IListSource."); _dataSource = dataSource; _dataMember = dataMember; } #region Implementation of IDataSource event EventHandler IDataSource.DataSourceChanged { add { } remove { } } ////// Check for IDataSource, IListSource, and IEnumerable, and return an /// approprite DataSourceView. /// DataSourceView IDataSource.GetView(string viewName) { // Check first for IDataSource IDataSource ds = _dataSource as IDataSource; if (ds != null) { return ds.GetView(viewName); } IEnumerable enumerable = DataSourceHelper.GetResolvedDataSource(_dataSource, _dataMember); return new ReadOnlyDataSourceView(this, _dataMember, enumerable); } ICollection IDataSource.GetViewNames() { return ViewNames; } #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 data bound controls to wrap an generic data source /// with a strongly typed IDataSource. This class automatically handles /// other IDataSources, IEnumerable, and IListSource objects. /// This class uses ReadOnlyDataSourceView to represent individual views. /// internal sealed class ReadOnlyDataSource : IDataSource { private static string[] ViewNames = new string[0]; private string _dataMember; private object _dataSource; public ReadOnlyDataSource(object dataSource, string dataMember) { Debug.Assert(dataSource == null || (dataSource is IEnumerable || dataSource is IDataSource || dataSource is IListSource), "Expected dataSource to be either null, an IEnumerable, an IDataSource, or an IListSource."); _dataSource = dataSource; _dataMember = dataMember; } #region Implementation of IDataSource event EventHandler IDataSource.DataSourceChanged { add { } remove { } } ////// Check for IDataSource, IListSource, and IEnumerable, and return an /// approprite DataSourceView. /// DataSourceView IDataSource.GetView(string viewName) { // Check first for IDataSource IDataSource ds = _dataSource as IDataSource; if (ds != null) { return ds.GetView(viewName); } IEnumerable enumerable = DataSourceHelper.GetResolvedDataSource(_dataSource, _dataMember); return new ReadOnlyDataSourceView(this, _dataMember, enumerable); } ICollection IDataSource.GetViewNames() { return ViewNames; } #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
- InputReport.cs
- FlowDocumentScrollViewer.cs
- SelectionEditingBehavior.cs
- _AuthenticationState.cs
- WebPartZoneAutoFormat.cs
- GridItemCollection.cs
- ListViewHitTestInfo.cs
- XmlEncoding.cs
- EntityRecordInfo.cs
- QueryOpeningEnumerator.cs
- FixedSOMSemanticBox.cs
- SwitchLevelAttribute.cs
- StatusBar.cs
- MergablePropertyAttribute.cs
- ConnectionInterfaceCollection.cs
- UrlMappingCollection.cs
- RotationValidation.cs
- TemplateControl.cs
- FixUpCollection.cs
- StreamUpgradeInitiator.cs
- WizardForm.cs
- KeyConverter.cs
- Int16AnimationBase.cs
- ProxyHwnd.cs
- ImageIndexConverter.cs
- BrowserDefinition.cs
- ListControl.cs
- FontUnit.cs
- ConfigurationElement.cs
- GridLengthConverter.cs
- ListBoxChrome.cs
- NameNode.cs
- RedBlackList.cs
- TrackBar.cs
- SafePEFileHandle.cs
- PageThemeParser.cs
- WebPart.cs
- ImageSourceConverter.cs
- Mutex.cs
- MissingManifestResourceException.cs
- Literal.cs
- UserMapPath.cs
- TextPattern.cs
- SortQuery.cs
- X509CertificateValidator.cs
- TextRangeBase.cs
- TextSelectionHelper.cs
- TabItemWrapperAutomationPeer.cs
- StackOverflowException.cs
- ByteArrayHelperWithString.cs
- ItemsPanelTemplate.cs
- WebSysDefaultValueAttribute.cs
- WebPartZoneAutoFormat.cs
- future.cs
- Thickness.cs
- InfocardExtendedInformationEntry.cs
- wgx_sdk_version.cs
- QuotaThrottle.cs
- GenericUriParser.cs
- IProvider.cs
- ConfigXmlComment.cs
- SchemaEntity.cs
- SqlAliasesReferenced.cs
- StaticDataManager.cs
- HtmlTableRowCollection.cs
- Internal.cs
- WindowsServiceElement.cs
- UpdateProgress.cs
- ZipIOBlockManager.cs
- XNodeValidator.cs
- ToolboxItemFilterAttribute.cs
- X509CertificateTrustedIssuerElement.cs
- ArgIterator.cs
- NonBatchDirectoryCompiler.cs
- TextRangeEditLists.cs
- PreProcessInputEventArgs.cs
- RegistryPermission.cs
- CriticalHandle.cs
- WebPartEventArgs.cs
- KeyProperty.cs
- MarkupExtensionSerializer.cs
- XmlNodeReader.cs
- KeyedPriorityQueue.cs
- Configuration.cs
- SafeEventHandle.cs
- SymDocumentType.cs
- HttpProfileBase.cs
- NumberFormatInfo.cs
- DescendantOverDescendantQuery.cs
- FollowerQueueCreator.cs
- CodeConditionStatement.cs
- AttributeQuery.cs
- DiscoveryRequestHandler.cs
- DrawListViewColumnHeaderEventArgs.cs
- TypeTypeConverter.cs
- FunctionCommandText.cs
- EntityCollection.cs
- FutureFactory.cs
- Propagator.ExtentPlaceholderCreator.cs
- XhtmlBasicSelectionListAdapter.cs