Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DotExpr.cs
- HideDisabledControlAdapter.cs
- Resources.Designer.cs
- ValidationErrorEventArgs.cs
- oledbconnectionstring.cs
- EventLogEntry.cs
- ListChangedEventArgs.cs
- TextViewBase.cs
- WebServiceErrorEvent.cs
- XamlBuildTaskServices.cs
- PanelStyle.cs
- CaseInsensitiveHashCodeProvider.cs
- ProfileSettings.cs
- SqlTypesSchemaImporter.cs
- ResourcesGenerator.cs
- DataGridBeginningEditEventArgs.cs
- SamlSecurityToken.cs
- DataSetMappper.cs
- CuspData.cs
- ValidationPropertyAttribute.cs
- DataGridViewControlCollection.cs
- EntityDataSourceStatementEditor.cs
- listitem.cs
- NavigateEvent.cs
- ClientConfigurationSystem.cs
- DataGrid.cs
- UnionCqlBlock.cs
- BooleanProjectedSlot.cs
- MultipartContentParser.cs
- ByteStreamGeometryContext.cs
- ParentUndoUnit.cs
- PropertyGridEditorPart.cs
- FillErrorEventArgs.cs
- webproxy.cs
- ArraySortHelper.cs
- StringValueSerializer.cs
- _ConnectStream.cs
- ButtonBase.cs
- Gdiplus.cs
- WebPartMenuStyle.cs
- Rss20FeedFormatter.cs
- HtmlLinkAdapter.cs
- CharUnicodeInfo.cs
- SecurityUtils.cs
- TCEAdapterGenerator.cs
- WebPartsPersonalizationAuthorization.cs
- PackageDigitalSignatureManager.cs
- HtmlUtf8RawTextWriter.cs
- xmlfixedPageInfo.cs
- ValueHandle.cs
- RedistVersionInfo.cs
- ScaleTransform.cs
- DefaultParameterValueAttribute.cs
- SafeHandle.cs
- XmlSchemaAttribute.cs
- FormsAuthenticationModule.cs
- Part.cs
- BindingWorker.cs
- DataGridViewMethods.cs
- DesignerDataSourceView.cs
- ValidationError.cs
- XpsDocumentEvent.cs
- EventProxy.cs
- PreservationFileReader.cs
- XmlNode.cs
- Wizard.cs
- Int32CAMarshaler.cs
- LocatorManager.cs
- LinkedList.cs
- RequestResizeEvent.cs
- DrawListViewSubItemEventArgs.cs
- CleanUpVirtualizedItemEventArgs.cs
- AppearanceEditorPart.cs
- HtmlWindowCollection.cs
- HtmlInputHidden.cs
- FilteredDataSetHelper.cs
- ValueProviderWrapper.cs
- SafeViewOfFileHandle.cs
- XmlAttributeAttribute.cs
- Scripts.cs
- SynchronizedInputProviderWrapper.cs
- SingleAnimationBase.cs
- InvariantComparer.cs
- DataGridAutoFormatDialog.cs
- HtmlContainerControl.cs
- entitydatasourceentitysetnameconverter.cs
- HTMLTagNameToTypeMapper.cs
- WebCategoryAttribute.cs
- WebConfigManager.cs
- ListViewPagedDataSource.cs
- Rect.cs
- TextSchema.cs
- DrawingAttributeSerializer.cs
- ShapingWorkspace.cs
- NotFiniteNumberException.cs
- CqlLexerHelpers.cs
- Grammar.cs
- CodeArgumentReferenceExpression.cs
- BitmapCacheBrush.cs
- SplayTreeNode.cs