Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- XamlSerializerUtil.cs
- securitycriticaldataClass.cs
- ArrayElementGridEntry.cs
- SkinBuilder.cs
- NameValueCache.cs
- TableProviderWrapper.cs
- GridViewRowCollection.cs
- AppSecurityManager.cs
- DataRowCollection.cs
- metrodevice.cs
- Border.cs
- AttachInfo.cs
- WebPartConnectionsCancelVerb.cs
- ExcCanonicalXml.cs
- TagNameToTypeMapper.cs
- XmlElementAttribute.cs
- WebEventCodes.cs
- MessageHeaders.cs
- Utilities.cs
- UserPersonalizationStateInfo.cs
- _StreamFramer.cs
- Soap.cs
- WmlListAdapter.cs
- SqlStatistics.cs
- TextRenderer.cs
- WebPartsSection.cs
- ReferenceService.cs
- WebBrowserNavigatingEventHandler.cs
- OperandQuery.cs
- UniqueIdentifierService.cs
- Internal.cs
- Hyperlink.cs
- HtmlImage.cs
- SqlDataSourceAdvancedOptionsForm.cs
- TileBrush.cs
- StyleCollectionEditor.cs
- FrameworkContentElement.cs
- ChannelSinkStacks.cs
- XmlWellformedWriter.cs
- UnsignedPublishLicense.cs
- SmiEventSink_Default.cs
- MessageEncoderFactory.cs
- StringAnimationBase.cs
- ObjectCacheSettings.cs
- WebServiceReceive.cs
- MarkerProperties.cs
- XmlComment.cs
- baseaxisquery.cs
- PropertyEmitter.cs
- MissingManifestResourceException.cs
- IdentityManager.cs
- SafeWaitHandle.cs
- SqlClientWrapperSmiStreamChars.cs
- DateTimeFormatInfoScanner.cs
- DefaultClaimSet.cs
- WebServiceParameterData.cs
- AsyncResult.cs
- List.cs
- Collection.cs
- WebPartVerb.cs
- ResourceSet.cs
- OperationBehaviorAttribute.cs
- SpeakInfo.cs
- ResourceReferenceKeyNotFoundException.cs
- GenericNameHandler.cs
- TableStyle.cs
- CapabilitiesSection.cs
- CatalogZoneBase.cs
- SafeHandles.cs
- XmlSerializationReader.cs
- SQLBytesStorage.cs
- TextFindEngine.cs
- CodeGenerator.cs
- ObjectSpanRewriter.cs
- TreeNodeStyleCollection.cs
- AspNetHostingPermission.cs
- ValueQuery.cs
- DbConvert.cs
- TextRunProperties.cs
- ThreadLocal.cs
- FixedTextPointer.cs
- TypeLibConverter.cs
- KerberosRequestorSecurityTokenAuthenticator.cs
- X509SecurityTokenProvider.cs
- SessionParameter.cs
- RegexWorker.cs
- Column.cs
- PrivateFontCollection.cs
- MethodImplAttribute.cs
- XamlTypeWithExplicitNamespace.cs
- ClaimTypeRequirement.cs
- ParserExtension.cs
- XmlEventCache.cs
- KeyEvent.cs
- FixedTextBuilder.cs
- BitmapScalingModeValidation.cs
- DataServiceKeyAttribute.cs
- Triplet.cs
- XmlNode.cs
- SoapBinding.cs