Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Propiedad DataGridView.Rows

 

Publicado: octubre de 2016

Obtiene una colección que contiene todas las filas del control 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

Type: System.Windows.Forms.DataGridViewRowCollection

Colección DataGridViewRowCollection que contiene todas las filas del control DataGridView.

Puede usar el Rows colección para rellenar manualmente un DataGridView control en lugar de enlazar a un origen de datos. En el ejemplo siguiente se muestra cómo agregar manualmente e insertan filas. En este ejemplo se supone que ha agregado cuatro DataGridViewTextBoxColumn instancias del control Columns colección.

[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 se rellena mediante programación un independiente DataGridView control, vea la sección ejemplo.

Las filas incluyen información de estilo además de los valores de celda. Por este motivo, puede agregar o insertar las filas basadas en filas existentes que ya haya aplicado un estilo. Puede hacerlo mediante el AddCopy, AddCopies, InsertCopy, y InsertCopies métodos.

También puede utilizar el Rows colección para modificar los valores en el control o quitar filas. Puede modificar 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 en el origen de datos. Necesitará insertar las actualizaciones del origen de datos en una base de datos remota, sin embargo. Para obtener más información, consulta Cómo: Enlazar datos al control DataGridView de formularios Windows Forms.

En 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 el Rows colección para recuperar información acerca de las filas. Utilice la GetRowState método para determinar el estado de una fila determinada. Utilice la GetRowCount y GetRowsHeight métodos 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, use la GetFirstRow, GetLastRow, GetNextRow, y GetPreviousRow métodos.

En el ejemplo siguiente se muestra cómo recuperar el índice de la primera fila seleccionada y, a continuación, utilizarlo para eliminar mediante programación 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, la DataGridViewRowCollection devuelta por la Rows propiedad puede incluir filas compartidas y. Filas compartidas comparten la memoria para reducir el costo de un gran conjunto de registros. Si el conjunto de registros es muy grande, deberán tener cuidado para mantener las filas compartidas tanto como sea posible al obtener acceso a la Rows propiedad.

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

En el ejemplo de código siguiente se muestra cómo crear un independiente DataGridView; establezca la ColumnHeadersVisible, ColumnHeadersDefaultCellStyle, y ColumnCount Propiedades; y use la Rows y Columns Propiedades. También se muestra cómo utilizar una versión de la AutoResizeColumnHeadersHeight y AutoResizeRows métodos para ajustar correctamente el tamaño de los encabezados de columna y las filas. Para ejecutar este ejemplo, pegue el siguiente código en un formulario que contiene un DataGridView denominado dataGridView1 y un botón denominado Button1, y, a continuación, llame a la InitializeDataGridView método desde el constructor del formulario o Load controlador de eventos. Asegúrese de que todos los eventos están conectados con 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
Disponible desde 2.0
Volver al principio
Mostrar: