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
- Function.cs
- PriorityBindingExpression.cs
- EdmProperty.cs
- PackWebRequest.cs
- Animatable.cs
- ProxyAssemblyNotLoadedException.cs
- RegistryKey.cs
- MeasurementDCInfo.cs
- EnumBuilder.cs
- ContentElementCollection.cs
- CompilerError.cs
- ClientSideQueueItem.cs
- GACIdentityPermission.cs
- BCryptSafeHandles.cs
- HealthMonitoringSection.cs
- HtmlTernaryTree.cs
- NullableFloatAverageAggregationOperator.cs
- MediaElement.cs
- OpenFileDialog.cs
- ClosureBinding.cs
- InkCanvasAutomationPeer.cs
- CreateSequenceResponse.cs
- DragEvent.cs
- WeakReferenceKey.cs
- DesignerActionUIStateChangeEventArgs.cs
- TextWriter.cs
- ConfigurationStrings.cs
- SchemaCollectionPreprocessor.cs
- RestClientProxyHandler.cs
- SerializationException.cs
- Types.cs
- BamlRecordReader.cs
- DateTimeConverter.cs
- OdbcPermission.cs
- followingsibling.cs
- XmlSortKey.cs
- SystemDropShadowChrome.cs
- WindowsToolbarItemAsMenuItem.cs
- SimpleExpression.cs
- TemplatedEditableDesignerRegion.cs
- StringFormat.cs
- EventProviderWriter.cs
- SystemIPAddressInformation.cs
- Help.cs
- SocketInformation.cs
- TargetControlTypeCache.cs
- BuildDependencySet.cs
- DataPagerField.cs
- RequestCachingSection.cs
- MouseGestureConverter.cs
- VectorAnimationUsingKeyFrames.cs
- TableRowCollection.cs
- Automation.cs
- Stroke2.cs
- WebDisplayNameAttribute.cs
- TrueReadOnlyCollection.cs
- EncoderParameters.cs
- TiffBitmapDecoder.cs
- DefaultBinder.cs
- IWorkflowDebuggerService.cs
- CqlParser.cs
- MULTI_QI.cs
- ClientRuntimeConfig.cs
- ErrorStyle.cs
- CatchBlock.cs
- TreeNodeBindingCollection.cs
- EastAsianLunisolarCalendar.cs
- SettingsSection.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- SecurityTokenTypes.cs
- DesignerUtils.cs
- ViewGenerator.cs
- XmlDocumentType.cs
- PortCache.cs
- PageThemeBuildProvider.cs
- AssemblyInfo.cs
- PropertyValidationContext.cs
- ReadWriteSpinLock.cs
- ObjectSpanRewriter.cs
- GenericsInstances.cs
- TextDecoration.cs
- altserialization.cs
- Odbc32.cs
- HttpListener.cs
- DbgCompiler.cs
- UnsafeNativeMethods.cs
- XPathSingletonIterator.cs
- ToolStripContextMenu.cs
- SqlEnums.cs
- ThaiBuddhistCalendar.cs
- ContextMenuStrip.cs
- wgx_render.cs
- VoiceSynthesis.cs
- OleDbConnectionFactory.cs
- TreeViewDesigner.cs
- SqlDataReaderSmi.cs
- CollectionViewProxy.cs
- StructuredTypeInfo.cs
- CallbackHandler.cs
- DatagridviewDisplayedBandsData.cs