本文整理汇总了C#中ColumnCollection.DeferColumnAdditionMessages方法的典型用法代码示例。如果您正苦于以下问题:C# ColumnCollection.DeferColumnAdditionMessages方法的具体用法?C# ColumnCollection.DeferColumnAdditionMessages怎么用?C# ColumnCollection.DeferColumnAdditionMessages使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ColumnCollection
的用法示例。
在下文中一共展示了ColumnCollection.DeferColumnAdditionMessages方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GenerateColumnsFromItemsSourceFields
public static void GenerateColumnsFromItemsSourceFields(
ColumnCollection columns,
IDictionary<Type, CellEditor> defaultCellEditors,
Dictionary<string, FieldDescriptor> fields,
bool autoCreateForeignKeyConfigurations )
{
DataGridControl dataGridControl = columns.DataGridControl;
using( columns.DeferColumnAdditionMessages() )
{
foreach( FieldDescriptor field in fields.Values )
{
string fieldName = field.Name;
ColumnBase column = columns[ fieldName ];
Column dataColumn = column as Column;
Type dataType = field.DataType;
if( column == null )
{
dataColumn = ItemsSourceHelper.CreateColumnFromItemsSourceField(
dataGridControl, defaultCellEditors, field, autoCreateForeignKeyConfigurations );
if( dataColumn != null )
{
columns.Add( dataColumn );
ItemsSourceHelper.ApplySettingsRepositoryToColumn( dataColumn );
}
}
else if( dataColumn != null )
{
if( field.ReadOnly )
{
if( dataColumn.ReadLocalValue( Column.ReadOnlyProperty ) == DependencyProperty.UnsetValue )
{
dataColumn.ReadOnly = field.ReadOnly;
}
}
if( field.OverrideReadOnlyForInsertion )
{
if( dataColumn.ReadLocalValue( ColumnBase.OverrideReadOnlyForInsertionProperty ) == DependencyProperty.UnsetValue )
{
dataColumn.OverrideReadOnlyForInsertion = field.OverrideReadOnlyForInsertion;
}
}
if( dataColumn.ReadLocalValue( Column.TitleProperty ) == DependencyProperty.UnsetValue )
{
dataColumn.Title = field.DisplayName;
}
if( dataColumn.ReadLocalValue( Column.CellEditorProperty ) == DependencyProperty.UnsetValue )
{
CellEditor cellEditor = null;
if( defaultCellEditors != null )
{
defaultCellEditors.TryGetValue( dataType, out cellEditor );
}
if( cellEditor == null )
{
object descriptionItemsSource = null;
object configurationItemsSource = null;
ForeignKeyConfiguration configuration = dataColumn.ForeignKeyConfiguration;
if( field.ForeignKeyDescription != null )
{
descriptionItemsSource = field.ForeignKeyDescription.ItemsSource;
}
if( configuration != null )
{
configurationItemsSource = configuration.ItemsSource;
if( configurationItemsSource == null )
{
configurationItemsSource = dataColumn.ReadLocalValue( Column.ForeignKeyConfigurationProperty );
}
}
// A foreign key ItemsSource is set and we can auto-create configuration
// OR
// if the foreign key ItemsSource was found in the ForeignKeyConfiguration
//
// use the Default ForeignKey CellEditor.
if( ( ( descriptionItemsSource != null ) && ( autoCreateForeignKeyConfigurations ) )
|| ( configurationItemsSource != null ) )
{
cellEditor = DefaultCellEditorSelector.ForeignKeyCellEditor;
}
}
if( cellEditor == null )
{
cellEditor = DefaultCellEditorSelector.SelectCellEditor( dataType );
}
dataColumn.CellEditor = cellEditor;
}
//.........这里部分代码省略.........