Compartir vía


DataGridViewColumnCollection.Add Método

Definición

Agrega la columna especificada a la colección.

Sobrecargas

Add(DataGridViewColumn)

Agrega la columna especificada a la colección.

Add(String, String)

Agrega a la colección una DataGridViewTextBoxColumn con el nombre de columna y el texto del encabezado de columna dados.

Add(DataGridViewColumn)

Agrega la columna especificada a la colección.

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

Parámetros

dataGridViewColumn
DataGridViewColumn

DataGridViewColumn que se va a agregar.

Devoluciones

Int32

El índice de la columna.

Excepciones

dataGridViewColumn es null.

El control DataGridView asociado está realizando una de las acciones siguientes que impide temporalmente que se agreguen nuevas columnas:

  • Seleccionar todas las celdas del control.

  • Borrar la selección.

  • Actualizar los valores de propiedades DisplayIndex de la columna.

o bien Se llama a este método desde un controlador para uno de los siguientes eventos DataGridView:

o bien dataGridViewColumn ya pertenece a un control DataGridView.

o bien El valor de propiedad dataGridViewColumnSortMode es Automatic y el valor de propiedad SelectionMode es FullColumnSelect o ColumnHeaderSelect. Utilice los métodos ISupportInitialize.BeginInit() y ISupportInitialize.EndInit() del control para establecer temporalmente los valores de propiedades que entren en conflicto.

o bien El valor de propiedad dataGridViewColumnInheritedAutoSizeMode es ColumnHeader y el valor de propiedad ColumnHeadersVisible es false.

o bien dataGridViewColumn tiene un valor de InheritedAutoSizeMode para la propiedad Fill y un valor de true para la propiedad Frozen.

o bien dataGridViewColumn tiene un valor de la propiedad FillWeight que haría que los valores combinados de FillWeight de todas las columnas del control superaran 65535.

o bien dataGridViewColumn tiene unos valores de las propiedades DisplayIndex y Frozen que lo mostrarían entre un conjunto de columnas adyacentes con el valor contrario de la propiedad Frozen.

o bien El control DataGridView contiene una fila por lo menos y dataGridViewColumn tiene un valor null para la propiedad CellType.

Ejemplos

En el ejemplo de código siguiente se muestra el uso de este método.

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

Consulte también

Se aplica a

Add(String, String)

Agrega a la colección una DataGridViewTextBoxColumn con el nombre de columna y el texto del encabezado de columna dados.

public:
 virtual int Add(System::String ^ columnName, System::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

Parámetros

columnName
String

Nombre por el que se hará referencia la columna.

headerText
String

Texto del encabezado de la columna.

Devoluciones

Int32

El índice de la columna.

Excepciones

El control DataGridView asociado está realizando una de las acciones siguientes que impide temporalmente que se agreguen nuevas columnas:

  • Seleccionar todas las celdas del control.

  • Borrar la selección.

  • Actualizar los valores de propiedades DisplayIndex de la columna.

o bien Se llama a este método desde un controlador para uno de los siguientes eventos DataGridView:

o bien El valor de la propiedad SelectionMode es FullColumnSelect o ColumnHeaderSelect, que está en conflicto con el valor de la propiedad SortMode de Automatic de la columna predeterminada.

o bien El valor 100 de la propiedad FillWeight de la columna predeterminada haría que los valores combinados de la propiedad FillWeight de todas las columnas del control superaran 65535.

Comentarios

Los columnName parámetros y headerText están relacionados con las Name propiedades y HeaderText , respectivamente.

Consulte también

Se aplica a