Code:
/ DotNET / DotNET / 8.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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- VirtualPath.cs
- DataGridViewMethods.cs
- WorkflowOperationInvoker.cs
- FormatterServices.cs
- UndoUnit.cs
- SqlDataSourceParameterParser.cs
- IItemProperties.cs
- ToolStripInSituService.cs
- OneOfTypeConst.cs
- LongValidator.cs
- OpCopier.cs
- ArcSegment.cs
- GetBrowserTokenRequest.cs
- DecryptRequest.cs
- ToolStripDropDownClosingEventArgs.cs
- TryExpression.cs
- DataGridParentRows.cs
- Quad.cs
- DefaultEventAttribute.cs
- HttpClientProtocol.cs
- HTMLTagNameToTypeMapper.cs
- WindowsGraphics2.cs
- SqlInfoMessageEvent.cs
- TraceContext.cs
- AppDomainUnloadedException.cs
- ISAPIRuntime.cs
- EditCommandColumn.cs
- HttpHeaderCollection.cs
- SchemaExporter.cs
- XmlSerializerVersionAttribute.cs
- DataGridViewCellStateChangedEventArgs.cs
- _BaseOverlappedAsyncResult.cs
- LayoutTable.cs
- ControlValuePropertyAttribute.cs
- Model3DGroup.cs
- OciHandle.cs
- ResourceContainer.cs
- ErrorHandler.cs
- RegexTypeEditor.cs
- StreamResourceInfo.cs
- ActivityInstanceReference.cs
- RequestQueue.cs
- HtmlInputCheckBox.cs
- DatePickerAutomationPeer.cs
- ListenerElementsCollection.cs
- KnownTypes.cs
- ToolStripPanelCell.cs
- Nullable.cs
- DispatchWrapper.cs
- XmlFormatReaderGenerator.cs
- FixedSchema.cs
- AssertSection.cs
- Block.cs
- ProfileSection.cs
- SqlTriggerContext.cs
- ControlCachePolicy.cs
- Evaluator.cs
- AudioBase.cs
- ItemChangedEventArgs.cs
- EqualityComparer.cs
- FacetDescriptionElement.cs
- ApplicationFileParser.cs
- CookieParameter.cs
- DocumentReferenceCollection.cs
- ArrayListCollectionBase.cs
- _NestedMultipleAsyncResult.cs
- WebPartConnectionsConnectVerb.cs
- VectorAnimationBase.cs
- WebPartMenu.cs
- AttachedPropertyInfo.cs
- GridProviderWrapper.cs
- WebPartMinimizeVerb.cs
- KernelTypeValidation.cs
- RenderData.cs
- VideoDrawing.cs
- UriScheme.cs
- QueryableDataSource.cs
- UInt16Converter.cs
- DetailsViewPageEventArgs.cs
- ScrollProviderWrapper.cs
- BaseComponentEditor.cs
- BaseCodePageEncoding.cs
- CodeConditionStatement.cs
- PersistenceTypeAttribute.cs
- AddInActivator.cs
- VariantWrapper.cs
- PropertyChangedEventManager.cs
- ComponentCommands.cs
- MemberJoinTreeNode.cs
- XmlAnyAttributeAttribute.cs
- DecimalConverter.cs
- ReadWriteObjectLock.cs
- FrameworkObject.cs
- UIntPtr.cs
- SiteMap.cs
- TargetParameterCountException.cs
- HyperLinkColumn.cs
- CmsInterop.cs
- BitHelper.cs
- UnsafeNativeMethodsMilCoreApi.cs