語言

DataGridViewColumnCollection.Add 方法

定義

將給定欄位加入集合。

多載

名稱 Description
Add(DataGridViewColumn)

將給定欄位加入集合。

Add(String, String)

將 DataGridViewTextBoxColumn 欄位名稱與欄位標頭文字加入集合。

Add(DataGridViewColumn)

來源:
DataGridViewColumnCollection.cs
來源:
DataGridViewColumnCollection.cs
來源:
DataGridViewColumnCollection.cs
來源:
DataGridViewColumnCollection.cs
來源:
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 一點要補充。

傳回

欄位的索引。

例外狀況

dataGridViewColumn 是 null。

相關的 DataGridView 控制項正在執行以下其中一項動作,暫時阻止新增欄位的加入:

  • 選取控制組中的所有細胞。

  • 清除選擇。

  • 更新欄位 DisplayIndex 屬性值。

-或-

此方法由處理器呼叫,用於以下 DataGridView 事件之一:

-或-

dataGridViewColumn 已經屬於一個 DataGridView 控制組。

-或-

dataGridViewColumn SortMode財產價值為 AutomaticSelectionMode ,財產價值為 FullColumnSelect 或 ColumnHeaderSelect。 使用控制項 ISupportInitialize.BeginInit() 和 ISupportInitialize.EndInit() 方法暫時設定衝突屬性值。

-或-

dataGridViewColumn InheritedAutoSizeMode財產價值為 ColumnHeaderColumnHeadersVisible ,財產價值為 false。

-或-

dataGridViewColumn 具有 InheritedAutoSizeMode 一個屬性值為 Fill ,一個 Frozen 屬性值為 true。

-或-

dataGridViewColumn 具有 FillWeight 一個屬性值,會導致控制中所有欄位的總值 FillWeight 超過65535。

-或-

dataGridViewColumn和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)

來源:
DataGridViewColumnCollection.cs
來源:
DataGridViewColumnCollection.cs
來源:
DataGridViewColumnCollection.cs
來源:
DataGridViewColumnCollection.cs
來源:
DataGridViewColumnCollection.cs

將 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 事件之一:

-或-

SelectionMode屬性值為FullColumnSelect或 ColumnHeaderSelect,與預設欄位SortMode屬性值 Automatic相衝突。

-或-

預設欄位 FillWeight 屬性值為 100,會使控制中所有欄位的總 FillWeight 值超過 65535。

備註

columnName和headerText參數分別與和NameHeaderText性質相關。

另請參閱

適用於