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 / ReadOnlyDataSource.cs / 1 / 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
- Utilities.cs
- NameSpaceEvent.cs
- QilStrConcatenator.cs
- ByteConverter.cs
- ContextMenu.cs
- PixelFormat.cs
- CacheForPrimitiveTypes.cs
- EmbeddedObject.cs
- MediaTimeline.cs
- Itemizer.cs
- DirectionalLight.cs
- DataGridViewRow.cs
- SocketInformation.cs
- RoleService.cs
- ReverseInheritProperty.cs
- XamlClipboardData.cs
- InheritanceAttribute.cs
- _ProxyRegBlob.cs
- NamedObjectList.cs
- ResourceProviderFactory.cs
- WCFServiceClientProxyGenerator.cs
- FixedSOMPageElement.cs
- Base64WriteStateInfo.cs
- MemberRelationshipService.cs
- DataGrid.cs
- MetadataItemEmitter.cs
- DataSourceExpression.cs
- Context.cs
- LocatorPartList.cs
- MenuDesigner.cs
- EntityCodeGenerator.cs
- ECDiffieHellmanCng.cs
- webeventbuffer.cs
- DbSourceCommand.cs
- TextDecoration.cs
- Span.cs
- OleDbEnumerator.cs
- DropDownList.cs
- BindingExpression.cs
- VectorCollectionValueSerializer.cs
- PieceDirectory.cs
- ColumnWidthChangedEvent.cs
- CheckBoxAutomationPeer.cs
- EventWaitHandle.cs
- ConversionHelper.cs
- SimpleHandlerFactory.cs
- PeerApplicationLaunchInfo.cs
- SqlDataAdapter.cs
- FormsAuthenticationTicket.cs
- MaterialCollection.cs
- ScrollContentPresenter.cs
- CodeGenHelper.cs
- TextPenaltyModule.cs
- NativeMethods.cs
- PackagePartCollection.cs
- DataGridViewCellFormattingEventArgs.cs
- ZoneButton.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- DataColumnSelectionConverter.cs
- PaperSize.cs
- DESCryptoServiceProvider.cs
- WebPart.cs
- GradientStop.cs
- FunctionUpdateCommand.cs
- UIElementCollection.cs
- AttachmentService.cs
- Variable.cs
- DescendantQuery.cs
- DataFormats.cs
- InputMethod.cs
- XmlResolver.cs
- DefaultValueTypeConverter.cs
- KnownTypeAttribute.cs
- HtmlFormParameterReader.cs
- PersonalizationAdministration.cs
- CurrentChangingEventManager.cs
- CodeDirectiveCollection.cs
- StickyNoteAnnotations.cs
- TextBounds.cs
- DictationGrammar.cs
- DateTimeSerializationSection.cs
- InternalDispatchObject.cs
- DocumentCollection.cs
- WebPartCollection.cs
- InternalBufferOverflowException.cs
- AuthenticateEventArgs.cs
- TextContainerHelper.cs
- InputReport.cs
- PropertyConverter.cs
- HostingEnvironmentWrapper.cs
- RequestSecurityToken.cs
- SynchronizedPool.cs
- RequiredFieldValidator.cs
- TreeViewCancelEvent.cs
- Symbol.cs
- AppliedDeviceFiltersEditor.cs
- Margins.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- VisualTransition.cs
- ThreadStateException.cs