Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / DataViewManagerListItemTypeDescriptor.cs / 1305376 / DataViewManagerListItemTypeDescriptor.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
// [....]
// [....]
//-----------------------------------------------------------------------------
namespace System.Data {
using System;
using System.ComponentModel;
///
/// [To be supplied.]
///
internal sealed class DataViewManagerListItemTypeDescriptor : ICustomTypeDescriptor {
private DataViewManager dataViewManager;
private PropertyDescriptorCollection propsCollection;
internal DataViewManagerListItemTypeDescriptor(DataViewManager dataViewManager) {
this.dataViewManager = dataViewManager;
}
internal void Reset() {
propsCollection = null;
}
internal DataView GetDataView(DataTable table) {
DataView dataView = new DataView(table);
dataView.SetDataViewManager(dataViewManager);
return dataView;
}
///
/// Retrieves an array of member attributes for the given object.
///
AttributeCollection ICustomTypeDescriptor.GetAttributes() {
return new AttributeCollection((Attribute[])null);
}
///
/// Retrieves the class name for this object. If null is returned,
/// the type name is used.
///
string ICustomTypeDescriptor.GetClassName() {
return null;
}
///
/// Retrieves the name for this object. If null is returned,
/// the default is used.
///
string ICustomTypeDescriptor.GetComponentName() {
return null;
}
///
/// Retrieves the type converter for this object.
///
TypeConverter ICustomTypeDescriptor.GetConverter() {
return null;
}
///
/// Retrieves the default event.
///
EventDescriptor ICustomTypeDescriptor.GetDefaultEvent() {
return null;
}
///
/// Retrieves the default property.
///
PropertyDescriptor ICustomTypeDescriptor.GetDefaultProperty() {
return null;
}
///
/// Retrieves the an editor for this object.
///
object ICustomTypeDescriptor.GetEditor(Type editorBaseType) {
return null;
}
///
/// Retrieves an array of events that the given component instance
/// provides. This may differ from the set of events the class
/// provides. If the component is sited, the site may add or remove
/// additional events.
///
EventDescriptorCollection ICustomTypeDescriptor.GetEvents() {
return new EventDescriptorCollection(null);
}
///
/// Retrieves an array of events that the given component instance
/// provides. This may differ from the set of events the class
/// provides. If the component is sited, the site may add or remove
/// additional events. The returned array of events will be
/// filtered by the given set of attributes.
///
EventDescriptorCollection ICustomTypeDescriptor.GetEvents(Attribute[] attributes) {
return new EventDescriptorCollection(null);
}
///
/// Retrieves an array of properties that the given component instance
/// provides. This may differ from the set of properties the class
/// provides. If the component is sited, the site may add or remove
/// additional properties.
///
PropertyDescriptorCollection ICustomTypeDescriptor.GetProperties() {
return((ICustomTypeDescriptor)this).GetProperties(null);
}
///
/// Retrieves an array of properties that the given component instance
/// provides. This may differ from the set of properties the class
/// provides. If the component is sited, the site may add or remove
/// additional properties. The returned array of properties will be
/// filtered by the given set of attributes.
///
PropertyDescriptorCollection ICustomTypeDescriptor.GetProperties(Attribute[] attributes) {
if (propsCollection == null) {
PropertyDescriptor[] props = null;
DataSet dataSet = dataViewManager.DataSet;
if (dataSet != null) {
int tableCount = dataSet.Tables.Count;
props = new PropertyDescriptor[tableCount];
for (int i = 0; i < tableCount; i++) {
props[i] = new DataTablePropertyDescriptor(dataSet.Tables[i]);
}
}
propsCollection = new PropertyDescriptorCollection(props);
}
return propsCollection;
}
///
/// Retrieves the object that directly depends on this value being edited. This is
/// generally the object that is required for the PropertyDescriptor's GetValue and SetValue
/// methods. If 'null' is passed for the PropertyDescriptor, the ICustomComponent
/// descripotor implemementation should return the default object, that is the main
/// object that exposes the properties and attributes,
///
object ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor pd) {
return this;
}
}
}
// 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
- EmptyCollection.cs
- DataTableNewRowEvent.cs
- XmlDocument.cs
- MaterializeFromAtom.cs
- SiblingIterators.cs
- sqlstateclientmanager.cs
- MetadataItem.cs
- DataGridViewLinkColumn.cs
- TypeUsageBuilder.cs
- TableLayoutPanelBehavior.cs
- ResourceExpressionBuilder.cs
- Module.cs
- ValueTypeFixupInfo.cs
- DesignerView.xaml.cs
- DataView.cs
- TableAdapterManagerHelper.cs
- BamlReader.cs
- Documentation.cs
- Point3D.cs
- BidPrivateBase.cs
- DependencyPropertyHelper.cs
- PasswordDeriveBytes.cs
- LayoutTableCell.cs
- DbUpdateCommandTree.cs
- Fx.cs
- HotSpotCollectionEditor.cs
- ClientSession.cs
- MasterPage.cs
- UIElement3D.cs
- HostProtectionException.cs
- UiaCoreTypesApi.cs
- EmptyWithCancelationCheckWorkItem.cs
- WithParamAction.cs
- CustomAttributeFormatException.cs
- Context.cs
- Timer.cs
- FlowDocumentPaginator.cs
- FloaterParaClient.cs
- TextMarkerSource.cs
- BaseParser.cs
- WpfMemberInvoker.cs
- Stack.cs
- EventDescriptorCollection.cs
- VirtualPath.cs
- EventSinkHelperWriter.cs
- ProfileBuildProvider.cs
- FilterFactory.cs
- MaxSessionCountExceededException.cs
- UriTemplateCompoundPathSegment.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- SettingsContext.cs
- configsystem.cs
- CacheMemory.cs
- HtmlInputText.cs
- ApplicationContext.cs
- PermissionSetTriple.cs
- InstanceDataCollection.cs
- Util.cs
- SqlWriter.cs
- FixedSOMImage.cs
- InputScope.cs
- NativeWrapper.cs
- UTF32Encoding.cs
- TransformerInfo.cs
- RuleDefinitions.cs
- UnmanagedMarshal.cs
- TrustLevel.cs
- ResourcePermissionBase.cs
- LineServicesCallbacks.cs
- QilTernary.cs
- ListViewHitTestInfo.cs
- DBSchemaTable.cs
- XmlSerializerFactory.cs
- ItemsPresenter.cs
- NamedObject.cs
- KeyedQueue.cs
- LineProperties.cs
- ImageFormat.cs
- CompilationRelaxations.cs
- ServiceReference.cs
- ObjectHelper.cs
- Listbox.cs
- PassportIdentity.cs
- ViewStateModeByIdAttribute.cs
- AsyncPostBackErrorEventArgs.cs
- ValueCollectionParameterReader.cs
- UiaCoreApi.cs
- MimeFormatter.cs
- DataSourceProvider.cs
- StylusPlugInCollection.cs
- ServerType.cs
- CngAlgorithmGroup.cs
- XsdSchemaFileEditor.cs
- sqlcontext.cs
- EmbeddedMailObjectsCollection.cs
- MessageQueueCriteria.cs
- SetIndexBinder.cs
- DataProtection.cs
- DirectoryGroupQuery.cs
- ResourceCollectionInfo.cs