DataGridViewColumnCollection.Add 方法

定义

将给定列添加到集合中。

重载

名称 说明
Add(DataGridViewColumn)

将给定列添加到集合中。

Add(String, String)

向集合中添加具有给定列名和列标题文本的 a DataGridViewTextBoxColumn

Add(DataGridViewColumn)

Source:
DataGridViewColumnCollection.cs
Source:
DataGridViewColumnCollection.cs
Source:
DataGridViewColumnCollection.cs
Source:
DataGridViewColumnCollection.cs
Source:
DataGridViewColumnCollection.cs

将给定列添加到集合中。

public:
 virtual int Add(System::Windows::Forms::DataGridViewColumn ^ dataGridViewColumn);
public virtual int Add(System.Windows.Forms.DataGridViewColumn dataGridViewColumn);
abstract member Add : System.Windows.Forms.DataGridViewColumn -> int
override this.Add : System.Windows.Forms.DataGridViewColumn -> int
Public Overridable Function Add (dataGridViewColumn As DataGridViewColumn) As Integer

参数

dataGridViewColumn
DataGridViewColumn

DataGridViewColumn 添加的。

返回

列的索引。

例外

dataGridViewColumnnull

关联的 DataGridView 控件正在执行下列操作之一,暂时阻止添加新列:

  • 选择控件中的所有单元格。

  • 清除所选内容。

  • 更新列 DisplayIndex 属性值。

-或-

此方法是从以下事件之一 DataGridView 的处理程序调用的:

-或-

dataGridViewColumn 已属于控件 DataGridView

-或-

属性值dataGridViewColumnSortMode为和AutomaticSelectionMode属性值为FullColumnSelectColumnHeaderSelect。 使用控件 ISupportInitialize.BeginInit()ISupportInitialize.EndInit() 方法暂时设置冲突的属性值。

-或-

属性值 dataGridViewColumnInheritedAutoSizeModeColumnHeaderColumnHeadersVisible ,属性值为 false.

-或-

dataGridViewColumn InheritedAutoSizeMode具有属性值的Fill属性值和Frozen属性值 。true

-或-

dataGridViewColumn 具有一个 FillWeight 属性值,会导致控件中所有列的组合 FillWeight 值超过 65535。

-或-

dataGridViewColumn has DisplayIndexFrozen 属性值,用于在具有相反 Frozen 属性值的一组相邻列之间显示该值。

-或-

DataGridView控件至少包含一行,其dataGridViewColumnCellType属性值为 null.

示例

下面的代码示例演示了此方法的使用。

private DataGridView dataGridView1 = new DataGridView();

private void AddColorColumn()
{
    DataGridViewComboBoxColumn comboBoxColumn =
        new DataGridViewComboBoxColumn();
    comboBoxColumn.Items.AddRange(
        Color.Red, Color.Yellow, Color.Green, Color.Blue);
    comboBoxColumn.ValueType = typeof(Color);
    dataGridView1.Columns.Add(comboBoxColumn);
    dataGridView1.EditingControlShowing +=
        new DataGridViewEditingControlShowingEventHandler(
        dataGridView1_EditingControlShowing);
}

private void dataGridView1_EditingControlShowing(object sender,
    DataGridViewEditingControlShowingEventArgs e)
{
    ComboBox combo = e.Control as ComboBox;
    if (combo != null)
    {
        // Remove an existing event-handler, if present, to avoid 
        // adding multiple handlers when the editing control is reused.
        combo.SelectedIndexChanged -=
            new EventHandler(ComboBox_SelectedIndexChanged);

        // Add the event handler. 
        combo.SelectedIndexChanged +=
            new EventHandler(ComboBox_SelectedIndexChanged);
    }
}

private void ComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
    ((ComboBox)sender).BackColor = (Color)((ComboBox)sender).SelectedItem;
}
Private WithEvents dataGridView1 As New DataGridView()

Private Sub AddColorColumn()

    Dim comboBoxColumn As New DataGridViewComboBoxColumn()
    comboBoxColumn.Items.AddRange( _
        Color.Red, Color.Yellow, Color.Green, Color.Blue)
    comboBoxColumn.ValueType = GetType(Color)
    dataGridView1.Columns.Add(comboBoxColumn)

End Sub

Private Sub dataGridView1_EditingControlShowing(ByVal sender As Object, _
    ByVal e As DataGridViewEditingControlShowingEventArgs) _
    Handles dataGridView1.EditingControlShowing

    Dim combo As ComboBox = CType(e.Control, ComboBox)
    If (combo IsNot Nothing) Then

        ' Remove an existing event-handler, if present, to avoid 
        ' adding multiple handlers when the editing control is reused.
        RemoveHandler combo.SelectedIndexChanged, _
            New EventHandler(AddressOf ComboBox_SelectedIndexChanged)

        ' Add the event handler. 
        AddHandler combo.SelectedIndexChanged, _
            New EventHandler(AddressOf ComboBox_SelectedIndexChanged)

    End If

End Sub

Private Sub ComboBox_SelectedIndexChanged( _
    ByVal sender As Object, ByVal e As EventArgs)

    Dim comboBox1 As ComboBox = CType(sender, ComboBox)
    comboBox1.BackColor = _
        CType(CType(sender, ComboBox).SelectedItem, Color)

End Sub

另请参阅

适用于

Add(String, String)

Source:
DataGridViewColumnCollection.cs
Source:
DataGridViewColumnCollection.cs
Source:
DataGridViewColumnCollection.cs
Source:
DataGridViewColumnCollection.cs
Source:
DataGridViewColumnCollection.cs

向集合中添加具有给定列名和列标题文本的 a DataGridViewTextBoxColumn

public:
 virtual int Add(System::String ^ columnName, System::String ^ headerText);
public virtual int Add(string columnName, string headerText);
public virtual int Add(string? columnName, string? headerText);
abstract member Add : string * string -> int
override this.Add : string * string -> int
Public Overridable Function Add (columnName As String, headerText As String) As Integer

参数

columnName
String

将引用列的名称。

headerText
String

列标题的文本。

返回

列的索引。

例外

关联的 DataGridView 控件正在执行下列操作之一,暂时阻止添加新列:

  • 选择控件中的所有单元格。

  • 清除所选内容。

  • 更新列 DisplayIndex 属性值。

-或-

此方法是从以下事件之一 DataGridView 的处理程序调用的:

-或-

属性值 SelectionModeFullColumnSelectColumnHeaderSelect与默认列 SortMode 属性值相冲突的 Automatic属性值。

-或-

默认列 FillWeight 属性值为 100 将导致控件中所有列的组合 FillWeight 值超过 65535。

注解

columnNameheaderText参数分别与NameHeaderText属性相关。

另请参阅

适用于