Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

DataGridView.Rows (Propiedad)

Obtiene una colección que contiene todas las filas del control de DataGridView .

Espacio de nombres:  System.Windows.Forms
Ensamblado:  System.Windows.Forms (en System.Windows.Forms.dll)

[BrowsableAttribute(false)]
public DataGridViewRowCollection Rows { get; }

Valor de propiedad

Tipo: System.Windows.Forms.DataGridViewRowCollection
DataGridViewRowCollection que contiene todas las filas de DataGridView.

Puede utilizar la colección de Rows para rellenar manualmente un control de DataGridView en lugar de enlazarlo a un origen de datos. El ejemplo siguiente muestra cómo agregar e insertar manualmente filas. Este ejemplo supone que ha agregado cuatro instancias de DataGridViewTextBoxColumn a la colección de Columns del control.

[Visual Basic]

Me.dataGridView1.Rows.Add("five", "six", "seven", "eight")
Me.dataGridView1.Rows.Insert(0, "one", "two", "three", "four")

[C#]

this.dataGridView1.Rows.Add("five", "six", "seven", "eight");this.dataGridView1.Rows.Insert(0, "one", "two", "three", "four");

Para obtener un ejemplo detallado que mediante programación rellena un control independiente de DataGridView , vea la sección de ejemplo.

Información de estilo de inclusión de las filas además de los valores de celda. Por esta razón, es posible que desee agregar o para insertar filas basadas en las filas existentes que ha diseñado ya. Puede hacerlo mediante AddCopy, AddCopies, InsertCopy, y los métodos de InsertCopies .

También puede utilizar la colección de Rows para modificar los valores del control o quitar filas. Puede modificar los valores o quitar filas independientemente de si el control está enlazado a un origen de datos externo. Si hay un origen de datos, los cambios se realizan directamente al origen de datos. Todavía puede necesitar insertar las actualizaciones del origen de datos a una base de datos remota, sin embargo. Para obtener más información, vea Cómo: Enlazar datos al control DataGridView de formularios Windows Forms.

El ejemplo siguiente se muestra cómo modificar los valores de celda mediante programación.

[Visual Basic]

' Modify the value in the first cell of the second row.
Me.dataGridView1.Rows[1].Cells[0].Value = "new value"

' The previous line is equivalent to the following line.
Me.dataGridView1[0, 1].Value = "new value"

[C#]

// Modify the value in the first cell of the second row.
this.dataGridView1.Rows[1].Cells[0].Value = "new value";

// The previous line is equivalent to the following line.
this.dataGridView1[0, 1].Value = "new value";

Además de las funciones de colección estándar, puede utilizar la colección de Rows para recuperar información sobre filas. Utilice el método de GetRowState para determinar el estado de una fila determinada. Utilice los métodos de GetRowCount y de GetRowsHeight para determinar el número de filas o el alto combinado de filas en un estado determinado. Para recuperar el índice de una fila con un estado determinado, utilice GetFirstRow, GetLastRow, el GetNextRow, y los métodos de GetPreviousRow .

El ejemplo siguiente muestra cómo recuperar el índice de la primera fila seleccionada y, a continuación utiliza mediante programación para eliminar la fila.

[Visual Basic]

Dim rowToDelete As Int32 = Me.dataGridView1.Rows.GetFirstRow( _
    DataGridViewElementStates.Selected)
If rowToDelete > -1 Then
    Me.dataGridView1.Rows.RemoveAt(rowToDelete)
End If

[C#]

Int32 rowToDelete = this.dataGridView1.Rows.GetFirstRow(
    DataGridViewElementStates.Selected);
if (rowToDelete > -1)
{
    this.dataGridView1.Rows.RemoveAt(rowToDelete);
}

Para mejorar el rendimiento, DataGridViewRowCollection devuelto por la propiedad de Rows puede incluir filas compartidas y compartidas. Las filas compartidas comparten memoria para reducir el costo de un amplio conjunto del registro. Si el conjunto de registros es muy grande, debe tener cuidado para mantener las filas compartidas tanto como sea posible al tener acceso a la propiedad de Rows .

Para obtener más información, vea Procedimientos recomendados para ajustar la escala del control DataGridView en formularios Windows Forms.

El ejemplo de código siguiente muestra cómo crear DataGridViewindependiente; establezca ColumnHeadersVisible, ColumnHeadersDefaultCellStyle, y las propiedades de ColumnCount ; y utilice las propiedades de Rows y de Columns . También muestra cómo utilizar una versión de los métodos de AutoResizeColumnHeadersHeight y de AutoResizeRows correctamente el tamaño de los encabezados de columna y filas. Para ejecutar este ejemplo, pegue el código siguiente en un formulario que contiene DataGridView denominado dataGridView1 y un botón denominado Button1, y llame al método de InitializeDataGridView del constructor del formulario o del controlador de eventos Load . Asegúrese de que todos los eventos se conectan a sus controladores de eventos.


    private void InitializeDataGridView()
    {
        // Create an unbound DataGridView by declaring a column count.
        dataGridView1.ColumnCount = 4;
        dataGridView1.ColumnHeadersVisible = true;

        // Set the column header style.
        DataGridViewCellStyle columnHeaderStyle = new DataGridViewCellStyle();

        columnHeaderStyle.BackColor = Color.Beige;
        columnHeaderStyle.Font = new Font("Verdana", 10, FontStyle.Bold);
        dataGridView1.ColumnHeadersDefaultCellStyle = columnHeaderStyle;

        // Set the column header names.
        dataGridView1.Columns[0].Name = "Recipe";
        dataGridView1.Columns[1].Name = "Category";
        dataGridView1.Columns[2].Name = "Main Ingredients";
        dataGridView1.Columns[3].Name = "Rating";

        // Populate the rows.
        string[] row1 = new string[] { "Meatloaf", "Main Dish", "ground beef",
            "**" };
        string[] row2 = new string[] { "Key Lime Pie", "Dessert", 
            "lime juice, evaporated milk", "****" };
        string[] row3 = new string[] { "Orange-Salsa Pork Chops", "Main Dish", 
            "pork chops, salsa, orange juice", "****" };
        string[] row4 = new string[] { "Black Bean and Rice Salad", "Salad", 
            "black beans, brown rice", "****" };
        string[] row5 = new string[] { "Chocolate Cheesecake", "Dessert", 
            "cream cheese", "***" };
        string[] row6 = new string[] { "Black Bean Dip", "Appetizer", 
            "black beans, sour cream", "***" };
        object[] rows = new object[] { row1, row2, row3, row4, row5, row6 };

        foreach (string[] rowArray in rows)
        {
            dataGridView1.Rows.Add(rowArray);
        }
    }

    private void button1_Click(object sender, System.EventArgs e)
    {
        // Resize the height of the column headers. 
        dataGridView1.AutoResizeColumnHeadersHeight();

        // Resize all the row heights to fit the contents of all non-header cells.
        dataGridView1.AutoResizeRows(
            DataGridViewAutoSizeRowsMode.AllCellsExceptHeaders);
    }

    private void InitializeContextMenu()
    {
        // Create the menu item.
        ToolStripMenuItem getRecipe = new ToolStripMenuItem("Search for recipe", null,
            new System.EventHandler(ShortcutMenuClick));

        // Add the menu item to the shortcut menu.
        ContextMenuStrip recipeMenu = new ContextMenuStrip();
        recipeMenu.Items.Add(getRecipe); 

        // Set the shortcut menu for the first column.
        dataGridView1.Columns[0].ContextMenuStrip = recipeMenu;
        dataGridView1.MouseDown += new MouseEventHandler(dataGridView1_MouseDown);
    }

    private DataGridViewCell clickedCell;

    private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
    {
	// If the user right-clicks a cell, store it for use by the shortcut menu.
        if (e.Button == MouseButtons.Right)
        {
            DataGridView.HitTestInfo hit = dataGridView1.HitTest(e.X, e.Y);
            if (hit.Type == DataGridViewHitTestType.Cell)
            {
                clickedCell =
                    dataGridView1.Rows[hit.RowIndex].Cells[hit.ColumnIndex];
            }
        }
    }

    private void ShortcutMenuClick(object sender, System.EventArgs e)
    {
        if (clickedCell != null)
        {
            //Retrieve the recipe name.
            string recipeName = (string)clickedCell.Value;

            //Search for the recipe.
            System.Diagnostics.Process.Start(
                "http://search.msn.com/results.aspx?q=" + recipeName);
                //null);
        }
    }


.NET Framework

Compatible con: 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft