Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / System / data / design / DesignTableCollection.cs / 1 / DesignTableCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All Rights Reserved. // Information Contained Herein is Proprietary and Confidential. // //----------------------------------------------------------------------------- namespace System.Data.Design{ using System; using System.Collections; using System.Data; using System.Diagnostics; ////// internal class DesignTableCollection : DataSourceCollectionBase { private DesignDataSource dataSource; public DesignTableCollection(DesignDataSource dataSource) : base(dataSource) { this.dataSource = dataSource; } private DataSet DataSet{ get{ if (dataSource != null){ return dataSource.DataSet; } return null; } } protected override Type ItemType { get { return typeof(DesignTable); } } protected override INameService NameService { get { return DataSetNameService.DefaultInstance; } } ////// internal DesignTable this[string name] { get { return (DesignTable)FindObject(name); } } ////// internal DesignTable this[DataTable dataTable] { get { foreach (DesignTable designTable in this) { if (designTable.DataTable == dataTable) { return designTable; } } return null; } } ////// Will throw if name is invalid or a dup /// Add the DataTable to the dataTable if not added yet /// public void Add(DesignTable designTable){ // List.Add(designTable); } public bool Contains( DesignTable table ) { return List.Contains( table ); } public int IndexOf( DesignTable table ) { return List.IndexOf( table ); } public void Remove( DesignTable table ) { List.Remove( table ); } ////// Note: this function need to call base first /// to ensure the undo model work! /// protected override void OnInsert( int index, object value ) { base.OnInsert(index, value); DesignTable designTable = (DesignTable)value; if (designTable.Name == null || designTable.Name.Length == 0) { designTable.Name = CreateUniqueName(designTable); } NameService.ValidateUniqueName(this, designTable.Name); if( (this.dataSource != null) && (designTable.Owner == this.dataSource) ) { Debug.Fail( "Table already belongs to this DataSource" ); return; // no-op } if( (this.dataSource != null) && (designTable.Owner != null) ) { throw new InternalException( VSDExceptions.DataSource.TABLE_BELONGS_TO_OTHER_DATA_SOURCE_MSG, VSDExceptions.DataSource.TABLE_BELONGS_TO_OTHER_DATA_SOURCE_CODE ); } DataSet dataSet = DataSet; if ((dataSet != null) && (!dataSet.Tables.Contains(designTable.DataTable.TableName))) { Debug.Assert( this.dataSource != null, "If we were able to get the DataSet we should have a design time data source as well" ); dataSet.Tables.Add(designTable.DataTable); } designTable.Owner = this.dataSource; } ////// Remove the DataTable in the dataTable if not removed yet /// Note: this function need to call base first /// to ensure the undo model work! /// protected override void OnRemove( int index, object value ) { base.OnRemove(index, value); DesignTable designTable = (DesignTable)value; DataSet dataSet = DataSet; if (dataSet != null && designTable.DataTable != null && dataSet.Tables.Contains(designTable.DataTable.TableName)){ dataSet.Tables.Remove(designTable.DataTable); } designTable.Owner = null; } } } // 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
- HtmlUtf8RawTextWriter.cs
- DragCompletedEventArgs.cs
- GlobalEventManager.cs
- AtlasWeb.Designer.cs
- Win32.cs
- XamlClipboardData.cs
- TransportContext.cs
- ToolStripDropDownItem.cs
- ConfigurationValidatorAttribute.cs
- Size3D.cs
- AttributeData.cs
- DocumentViewerHelper.cs
- IntPtr.cs
- CodePageUtils.cs
- VectorKeyFrameCollection.cs
- HTMLTagNameToTypeMapper.cs
- DragDropManager.cs
- FlowDecisionDesigner.xaml.cs
- DependencyObject.cs
- ExpressionPrinter.cs
- TreeNodeBindingCollection.cs
- ManifestResourceInfo.cs
- ScriptMethodAttribute.cs
- CuspData.cs
- XmlRawWriter.cs
- SweepDirectionValidation.cs
- GPPOINTF.cs
- AppendHelper.cs
- EdmComplexTypeAttribute.cs
- PersonalizationStateInfo.cs
- IdentifierService.cs
- PerformanceCounterLib.cs
- DocumentGridContextMenu.cs
- Atom10FormatterFactory.cs
- DecoderFallback.cs
- BitmapEffectGeneralTransform.cs
- XmlSchemaExternal.cs
- EmptyElement.cs
- Point3DConverter.cs
- AuditLog.cs
- Ref.cs
- Deflater.cs
- DataComponentGenerator.cs
- SizeConverter.cs
- Error.cs
- CompoundFileReference.cs
- StandardTransformFactory.cs
- MenuItem.cs
- RawStylusActions.cs
- MsmqAuthenticationMode.cs
- CodeCompiler.cs
- Menu.cs
- DesignerGenericWebPart.cs
- DataControlFieldCollection.cs
- DesignConnectionCollection.cs
- RepeatInfo.cs
- ServiceHostingEnvironment.cs
- ButtonBaseAdapter.cs
- XmlHelper.cs
- HandleExceptionArgs.cs
- OleDbDataAdapter.cs
- CodeGenerator.cs
- BindingManagerDataErrorEventArgs.cs
- DataKeyArray.cs
- CompoundFileReference.cs
- TagElement.cs
- UIPermission.cs
- RSACryptoServiceProvider.cs
- GlyphInfoList.cs
- WebPartDisplayModeEventArgs.cs
- SkewTransform.cs
- SurrogateSelector.cs
- TextElement.cs
- DynamicValidatorEventArgs.cs
- SmtpDigestAuthenticationModule.cs
- WriteFileContext.cs
- PathFigureCollection.cs
- DateTimeAutomationPeer.cs
- TaskCanceledException.cs
- StackSpiller.Generated.cs
- BamlBinaryWriter.cs
- BrowserCapabilitiesCompiler.cs
- SHA384.cs
- XmlSchemaSimpleTypeRestriction.cs
- Popup.cs
- VectorAnimationBase.cs
- Peer.cs
- EdmMember.cs
- NavigationPropertyEmitter.cs
- MetaChildrenColumn.cs
- Expr.cs
- OptimizedTemplateContent.cs
- WorkItem.cs
- XDRSchema.cs
- ADRole.cs
- EmbossBitmapEffect.cs
- FlowDocumentReaderAutomationPeer.cs
- TrustLevelCollection.cs
- RayMeshGeometry3DHitTestResult.cs
- ToolStripLocationCancelEventArgs.cs