Поделиться через


DataGridViewColumnCollection.Add Метод

Определение

Добавляет заданный столбец в коллекцию.

Перегрузки

Add(DataGridViewColumn)

Добавляет заданный столбец в коллекцию.

Add(String, String)

Добавляет в коллекцию объект DataGridViewTextBoxColumn с заданным именем и текстом заголовка столбца.

Add(DataGridViewColumn)

Добавляет заданный столбец в коллекцию.

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.

-или-

Свойство dataGridViewColumnSortMode имеет значение Automatic, а свойство SelectionMode имеет значение FullColumnSelect или ColumnHeaderSelect. Методы ISupportInitialize.BeginInit() и ISupportInitialize.EndInit() элемента управления позволяет временно задавать конфликтующие значения свойств.

-или-

Свойство dataGridViewColumnInheritedAutoSizeMode имеет значение ColumnHeader, а свойство ColumnHeadersVisible имеет значение false.

-или-

Свойство InheritedAutoSizeMode столбца dataGridViewColumn имеет значение Fill, а свойство Frozen — значение true.

-или-

В столбце dataGridViewColumn свойство FillWeight имеет значение, которое приводит к тому, что суммарное значение FillWeight для всех столбцов в элементе управления превышает 65535.

-или-

В столбце dataGridViewColumn заданы такие значения свойств DisplayIndex и Frozen, в результате которых столбец будет отображаться среди набора смежных столбцов с противоположным значением свойства Frozen.

-или-

Элемент управления DataGridView содержит по крайней мере одну строку, а столбец dataGridViewColumn имеет свойство CellType со значением 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)

Добавляет в коллекцию объект 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 связаны со Name свойствами и HeaderText соответственно.

См. также раздел

Применяется к