Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Data / System / Data / DataViewSettingCollection.cs / 1 / DataViewSettingCollection.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
// [....]
// [....]
//-----------------------------------------------------------------------------
namespace System.Data {
using System;
using System.Diagnostics;
using System.ComponentModel;
using System.Collections;
[
Editor("Microsoft.VSDesigner.Data.Design.DataViewSettingsCollectionEditor, " + AssemblyRef.MicrosoftVSDesigner, "System.Drawing.Design.UITypeEditor, " + AssemblyRef.SystemDrawing),
]
#if WINFSInternalOnly
internal
#else
public
#endif
class DataViewSettingCollection : ICollection {
private readonly DataViewManager dataViewManager;
private readonly Hashtable list = new Hashtable();
internal DataViewSettingCollection(DataViewManager dataViewManager) {
if (dataViewManager == null) {
throw ExceptionBuilder.ArgumentNull("dataViewManager");
}
this.dataViewManager = dataViewManager;
}
public virtual DataViewSetting this[DataTable table] {
get {
if (table == null) {
throw ExceptionBuilder.ArgumentNull("table");
}
DataViewSetting dataViewSetting = (DataViewSetting) list[table];
if(dataViewSetting == null) {
dataViewSetting = new DataViewSetting();
this[table] = dataViewSetting;
}
return dataViewSetting;
}
set {
if (table == null) {
throw ExceptionBuilder.ArgumentNull("table");
}
value.SetDataViewManager(dataViewManager);
value.SetDataTable(table);
list[table] = value;
}
}
private DataTable GetTable(string tableName) {
DataTable dt = null;
DataSet ds = dataViewManager.DataSet;
if(ds != null) {
dt = ds.Tables[tableName];
}
return dt;
}
private DataTable GetTable(int index) {
DataTable dt = null;
DataSet ds = dataViewManager.DataSet;
if(ds != null) {
dt = ds.Tables[index];
}
return dt;
}
public virtual DataViewSetting this[string tableName] {
get {
DataTable dt = GetTable(tableName);
if(dt != null) {
return this[dt];
}
return null;
}
}
public virtual DataViewSetting this[int index] {
get {
DataTable dt = GetTable(index);
if(dt != null) {
return this[dt];
}
return null;
}
set {
DataTable dt = GetTable(index);
if(dt != null) {
this[dt] = value;
}else {
// throw excaption here.
}
}
}
// ----------- ICollection -------------------------
public void CopyTo(Array ar, int index) {
System.Collections.IEnumerator Enumerator = GetEnumerator();
while (Enumerator.MoveNext()) {
ar.SetValue(Enumerator.Current, index++);
}
}
public void CopyTo(DataViewSetting[] ar, int index) {
System.Collections.IEnumerator Enumerator = GetEnumerator();
while (Enumerator.MoveNext()) {
ar.SetValue(Enumerator.Current, index++);
}
}
[Browsable(false)]
public virtual int Count {
get {
DataSet ds = dataViewManager.DataSet;
return (ds == null) ? 0 : ds.Tables.Count;
}
}
public IEnumerator GetEnumerator() {
// I have to do something here.
return new DataViewSettingsEnumerator(dataViewManager);
}
[
Browsable(false)
]
public bool IsReadOnly {
get {
return true;
}
}
[Browsable(false)]
public bool IsSynchronized {
get {
// so the user will know that it has to lock this object
return false;
}
}
[Browsable(false)]
public object SyncRoot {
get {
return this;
}
}
internal void Remove(DataTable table) {
list.Remove(table);
}
private sealed class DataViewSettingsEnumerator : IEnumerator {
DataViewSettingCollection dataViewSettings;
IEnumerator tableEnumerator;
public DataViewSettingsEnumerator(DataViewManager dvm) {
DataSet ds = dvm.DataSet;
if(ds != null) {
dataViewSettings = dvm.DataViewSettings;
tableEnumerator = dvm.DataSet.Tables.GetEnumerator();
}else {
dataViewSettings = null;
tableEnumerator = DataSet.zeroTables.GetEnumerator();
}
}
public bool MoveNext() {
return tableEnumerator.MoveNext();
}
public void Reset() {
tableEnumerator.Reset();
}
public object Current {
get {
return dataViewSettings[(DataTable) tableEnumerator.Current];
}
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
// [....]
// [....]
//-----------------------------------------------------------------------------
namespace System.Data {
using System;
using System.Diagnostics;
using System.ComponentModel;
using System.Collections;
[
Editor("Microsoft.VSDesigner.Data.Design.DataViewSettingsCollectionEditor, " + AssemblyRef.MicrosoftVSDesigner, "System.Drawing.Design.UITypeEditor, " + AssemblyRef.SystemDrawing),
]
#if WINFSInternalOnly
internal
#else
public
#endif
class DataViewSettingCollection : ICollection {
private readonly DataViewManager dataViewManager;
private readonly Hashtable list = new Hashtable();
internal DataViewSettingCollection(DataViewManager dataViewManager) {
if (dataViewManager == null) {
throw ExceptionBuilder.ArgumentNull("dataViewManager");
}
this.dataViewManager = dataViewManager;
}
public virtual DataViewSetting this[DataTable table] {
get {
if (table == null) {
throw ExceptionBuilder.ArgumentNull("table");
}
DataViewSetting dataViewSetting = (DataViewSetting) list[table];
if(dataViewSetting == null) {
dataViewSetting = new DataViewSetting();
this[table] = dataViewSetting;
}
return dataViewSetting;
}
set {
if (table == null) {
throw ExceptionBuilder.ArgumentNull("table");
}
value.SetDataViewManager(dataViewManager);
value.SetDataTable(table);
list[table] = value;
}
}
private DataTable GetTable(string tableName) {
DataTable dt = null;
DataSet ds = dataViewManager.DataSet;
if(ds != null) {
dt = ds.Tables[tableName];
}
return dt;
}
private DataTable GetTable(int index) {
DataTable dt = null;
DataSet ds = dataViewManager.DataSet;
if(ds != null) {
dt = ds.Tables[index];
}
return dt;
}
public virtual DataViewSetting this[string tableName] {
get {
DataTable dt = GetTable(tableName);
if(dt != null) {
return this[dt];
}
return null;
}
}
public virtual DataViewSetting this[int index] {
get {
DataTable dt = GetTable(index);
if(dt != null) {
return this[dt];
}
return null;
}
set {
DataTable dt = GetTable(index);
if(dt != null) {
this[dt] = value;
}else {
// throw excaption here.
}
}
}
// ----------- ICollection -------------------------
public void CopyTo(Array ar, int index) {
System.Collections.IEnumerator Enumerator = GetEnumerator();
while (Enumerator.MoveNext()) {
ar.SetValue(Enumerator.Current, index++);
}
}
public void CopyTo(DataViewSetting[] ar, int index) {
System.Collections.IEnumerator Enumerator = GetEnumerator();
while (Enumerator.MoveNext()) {
ar.SetValue(Enumerator.Current, index++);
}
}
[Browsable(false)]
public virtual int Count {
get {
DataSet ds = dataViewManager.DataSet;
return (ds == null) ? 0 : ds.Tables.Count;
}
}
public IEnumerator GetEnumerator() {
// I have to do something here.
return new DataViewSettingsEnumerator(dataViewManager);
}
[
Browsable(false)
]
public bool IsReadOnly {
get {
return true;
}
}
[Browsable(false)]
public bool IsSynchronized {
get {
// so the user will know that it has to lock this object
return false;
}
}
[Browsable(false)]
public object SyncRoot {
get {
return this;
}
}
internal void Remove(DataTable table) {
list.Remove(table);
}
private sealed class DataViewSettingsEnumerator : IEnumerator {
DataViewSettingCollection dataViewSettings;
IEnumerator tableEnumerator;
public DataViewSettingsEnumerator(DataViewManager dvm) {
DataSet ds = dvm.DataSet;
if(ds != null) {
dataViewSettings = dvm.DataViewSettings;
tableEnumerator = dvm.DataSet.Tables.GetEnumerator();
}else {
dataViewSettings = null;
tableEnumerator = DataSet.zeroTables.GetEnumerator();
}
}
public bool MoveNext() {
return tableEnumerator.MoveNext();
}
public void Reset() {
tableEnumerator.Reset();
}
public object Current {
get {
return dataViewSettings[(DataTable) tableEnumerator.Current];
}
}
}
}
}
// 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
- D3DImage.cs
- DataRowChangeEvent.cs
- PeerApplicationLaunchInfo.cs
- CustomTypeDescriptor.cs
- ItemDragEvent.cs
- BitmapSourceSafeMILHandle.cs
- HttpContextServiceHost.cs
- CodeBinaryOperatorExpression.cs
- HandledMouseEvent.cs
- SqlClientWrapperSmiStreamChars.cs
- FileSystemEventArgs.cs
- PropertyIDSet.cs
- ErrorRuntimeConfig.cs
- PackUriHelper.cs
- Descriptor.cs
- DataBoundControlAdapter.cs
- CodeNamespaceCollection.cs
- ping.cs
- Label.cs
- Panel.cs
- FormatterServices.cs
- BaseValidator.cs
- DataFormats.cs
- ToolStripGripRenderEventArgs.cs
- _Win32.cs
- PrimaryKeyTypeConverter.cs
- TextMarkerSource.cs
- DataColumnPropertyDescriptor.cs
- XmlUnspecifiedAttribute.cs
- Timer.cs
- SystemBrushes.cs
- TableProviderWrapper.cs
- DelegateSerializationHolder.cs
- FocusChangedEventArgs.cs
- ContentValidator.cs
- DataPagerFieldCollection.cs
- InternalPermissions.cs
- SafeHandle.cs
- VisualTreeUtils.cs
- ProfileEventArgs.cs
- MetafileHeader.cs
- DataGridTextBox.cs
- ValidationPropertyAttribute.cs
- QuestionEventArgs.cs
- TableItemPattern.cs
- DataGridRow.cs
- AudioStateChangedEventArgs.cs
- Int16Converter.cs
- XhtmlTextWriter.cs
- RoleGroupCollection.cs
- PrintDocument.cs
- contentDescriptor.cs
- MessageQueueInstaller.cs
- ListViewAutomationPeer.cs
- Matrix3DConverter.cs
- SiteMapNodeItem.cs
- AndCondition.cs
- Delegate.cs
- SqlCommandSet.cs
- PopupControlService.cs
- ToolbarAUtomationPeer.cs
- SynchronizationHandlesCodeDomSerializer.cs
- SchemaMerger.cs
- CommonDialog.cs
- Deserializer.cs
- EnumerableWrapperWeakToStrong.cs
- ReadOnlyCollectionBase.cs
- ObjectDataSourceEventArgs.cs
- PiiTraceSource.cs
- ControlParameter.cs
- DateTimeConstantAttribute.cs
- ChannelFactoryRefCache.cs
- DefaultPrintController.cs
- StrongName.cs
- XmlIncludeAttribute.cs
- ModelFunctionTypeElement.cs
- CaseStatementSlot.cs
- DoubleCollectionValueSerializer.cs
- SignerInfo.cs
- CodeChecksumPragma.cs
- DesignRelationCollection.cs
- SystemNetworkInterface.cs
- BaseTransportHeaders.cs
- ColumnWidthChangedEvent.cs
- Win32MouseDevice.cs
- PropertyEntry.cs
- DataBoundControl.cs
- RemotingAttributes.cs
- SubtreeProcessor.cs
- RequiredFieldValidator.cs
- DataListItemCollection.cs
- ProgressPage.cs
- FixUp.cs
- XmlElementList.cs
- TablePatternIdentifiers.cs
- DBSqlParser.cs
- MembershipSection.cs
- FusionWrap.cs
- TitleStyle.cs
- ExtendedProtectionPolicyElement.cs