Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / System / data / design / DataDesignUtil.cs / 1 / DataDesignUtil.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All Rights Reserved. // Information Contained Herein is Proprietary and Confidential. // //----------------------------------------------------------------------------- /* */ namespace System.Data.Design { using System; using System.Text; using System.Data; using System.Data.Common; using System.Data.OleDb; using System.Data.SqlClient; using System.Collections; using System.Diagnostics; using System.Globalization; using System.Windows.Forms; using System.ComponentModel; using System.ComponentModel.Design; ////// This class provides the data class designer specific utilities /// internal sealed class DataDesignUtil { internal static string DataSetClassName = typeof(DataSet).ToString(); // private constructor to avoid class being instantiated. private DataDesignUtil() { } internal enum MappingDirection { SourceToDataSet, DataSetToSource } internal static string[] MapColumnNames( DataColumnMappingCollection mappingCollection, string[] names, MappingDirection direction ) { Debug.Assert( mappingCollection != null ); Debug.Assert( names != null ); if( mappingCollection == null || names == null ) { return new string[] {}; } ArrayList result = new ArrayList(); string mappedName; DataColumnMapping mapping; foreach( string columnName in names ) { try { if( direction == MappingDirection.DataSetToSource ) { mapping = mappingCollection.GetByDataSetColumn( columnName ); mappedName = mapping.SourceColumn; } else { mapping = mappingCollection[columnName]; mappedName = mapping.DataSetColumn; } } catch( System.IndexOutOfRangeException ) { mappedName = columnName; } Debug.Assert( StringUtil.NotEmptyAfterTrim(mappedName) ); result.Add( mappedName ); } return (string[]) result.ToArray( typeof(string) ); } // CopyColumn -- Copy column members from src to dest. public static void CopyColumn(DataColumn srcColumn, DataColumn destColumn){ destColumn.AllowDBNull = srcColumn.AllowDBNull; destColumn.AutoIncrement = srcColumn.AutoIncrement; destColumn.AutoIncrementSeed = srcColumn.AutoIncrementSeed; destColumn.AutoIncrementStep = srcColumn.AutoIncrementStep; destColumn.Caption = srcColumn.Caption; destColumn.ColumnMapping = srcColumn.ColumnMapping; destColumn.ColumnName = srcColumn.ColumnName; destColumn.DataType = srcColumn.DataType; destColumn.DefaultValue = srcColumn.DefaultValue; destColumn.Expression = srcColumn.Expression; destColumn.MaxLength = srcColumn.MaxLength; destColumn.Prefix = srcColumn.Prefix; destColumn.ReadOnly = srcColumn.ReadOnly; // Do not touch Unique property - setting Unique to true creates a UniqueConstraint // behind the scenes and we do not want it. } // CloneColumn -- Creates a copy of the given column. public static DataColumn CloneColumn(DataColumn column){ DataColumn newColumn = new DataColumn(); CopyColumn(column, newColumn); return newColumn; } } } // 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
- WindowsStatic.cs
- UnsafeNativeMethods.cs
- MenuEventArgs.cs
- SingleObjectCollection.cs
- CompilerTypeWithParams.cs
- RegexCompiler.cs
- ConstructorArgumentAttribute.cs
- MeasurementDCInfo.cs
- StrongNameUtility.cs
- Token.cs
- Point3DAnimation.cs
- ListComponentEditor.cs
- _BufferOffsetSize.cs
- CustomError.cs
- InfoCardSchemas.cs
- NullableDecimalMinMaxAggregationOperator.cs
- RegexGroup.cs
- WebPartDescriptionCollection.cs
- parserscommon.cs
- ConfigurationSettings.cs
- ScriptComponentDescriptor.cs
- FormsAuthenticationEventArgs.cs
- MembershipSection.cs
- AssociationEndMember.cs
- HostProtectionException.cs
- KnownBoxes.cs
- StringBuilder.cs
- Vector3dCollection.cs
- CodeExporter.cs
- AssemblyHash.cs
- BooleanAnimationBase.cs
- ForwardPositionQuery.cs
- ProcessModuleCollection.cs
- Signature.cs
- messageonlyhwndwrapper.cs
- SimpleWebHandlerParser.cs
- RawStylusSystemGestureInputReport.cs
- TypeInitializationException.cs
- UserControlAutomationPeer.cs
- ILGenerator.cs
- XmlHierarchicalEnumerable.cs
- Wildcard.cs
- CollectionEditorDialog.cs
- DocumentReferenceCollection.cs
- JapaneseCalendar.cs
- MaskedTextBox.cs
- _IPv6Address.cs
- TemplateInstanceAttribute.cs
- ResXBuildProvider.cs
- TextEditorSpelling.cs
- StorageMappingFragment.cs
- ItemCheckEvent.cs
- ListViewItemSelectionChangedEvent.cs
- LogEntryHeaderSerializer.cs
- MethodRental.cs
- WorkflowDebuggerSteppingAttribute.cs
- AnnotationHighlightLayer.cs
- serverconfig.cs
- NeutralResourcesLanguageAttribute.cs
- ResourceAssociationType.cs
- NetworkStream.cs
- EpmSourceTree.cs
- ComplexPropertyEntry.cs
- ListViewInsertedEventArgs.cs
- TypeElementCollection.cs
- FileDialog.cs
- TemplateBindingExpression.cs
- MarkupCompilePass2.cs
- SignatureHelper.cs
- Int64Animation.cs
- GatewayIPAddressInformationCollection.cs
- GACMembershipCondition.cs
- CursorConverter.cs
- MenuItem.cs
- ModuleElement.cs
- AttributeQuery.cs
- StructuralCache.cs
- GcSettings.cs
- CreateRefExpr.cs
- TrimSurroundingWhitespaceAttribute.cs
- MimeParameters.cs
- ResXBuildProvider.cs
- BaseCodePageEncoding.cs
- _DisconnectOverlappedAsyncResult.cs
- AppDomainManager.cs
- WebPartTracker.cs
- TogglePattern.cs
- SerializationEventsCache.cs
- XamlReader.cs
- HttpProfileBase.cs
- DoubleIndependentAnimationStorage.cs
- InheritanceRules.cs
- XpsFilter.cs
- AssertFilter.cs
- ConsumerConnectionPoint.cs
- DbModificationCommandTree.cs
- EnumDataContract.cs
- MetaModel.cs
- MemberJoinTreeNode.cs
- DbModificationClause.cs