Exportar (0) Imprimir
Expandir todo

DataGridView (Clase)

Muestra los datos en una cuadrícula personalizable.

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

[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] 
[ComVisibleAttribute(true)] 
public class DataGridView : Control, ISupportInitialize
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ 
/** @attribute ComVisibleAttribute(true) */ 
public class DataGridView extends Control implements ISupportInitialize
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) 
ComVisibleAttribute(true) 
public class DataGridView extends Control implements ISupportInitialize
No aplicable.

El control DataGridView proporciona una tabla personalizable para mostrar datos. La clase DataGridView permite personalizar celdas, filas, columnas y bordes mediante propiedades como DefaultCellStyle, ColumnHeadersDefaultCellStyle, CellBorderStyle y GridColor. Para obtener más información, vea Estilo y formato básicos del control DataGridView en formularios Windows Forms.

Puede utilizar un control DataGridView para mostrar datos con o sin un origen de datos subyacente. Sin especificar un origen de datos, puede crear las columnas y filas que contendrán los datos y agregarlas directamente a DataGridView. Como alternativa, puede establecer las propiedades DataSource y DataMember para enlazar el control DataGridView a un origen de datos y llenarlo de datos automáticamente. Para obtener más información, vea Mostrar datos en el control DataGridView de formularios Windows Forms.

Al trabajar con grandes cantidades de datos, puede establecer la propiedad VirtualMode en true para mostrar un subconjunto de los datos disponibles. El modo virtual requiere la implementación de una caché de datos a partir de la cual se llenará el control DataGridView. Para obtener más información, vea Modos de presentación de datos en el control DataGridView de formularios Windows Forms.

Para obtener información adicional acerca de las características disponible en el control DataGridView, vea DataGridView (Control, formularios Windows Forms). En la siguiente tabla se proporcionan vínculos directos a tareas comunes.

TemaUbicación
Cómo: Enlazar datos al control DataGridView de formularios Windows FormsControles de formularios Windows Forms en .NET Framework SDK
Cómo: Agregar información sobre herramientas a celdas individuales en un control DataGridView de formularios Windows FormsControles de formularios Windows Forms en .NET Framework SDK
Cómo: Establecer estilos de colores y fuentes en el control DataGridView de formularios Windows FormsControles de formularios Windows Forms en .NET Framework SDK
Cómo: Dar formato a datos en el control DataGridView de formularios Windows FormsControles de formularios Windows Forms en .NET Framework SDK
Tutorial: Validar datos en el control DataGridView de formularios Windows FormsControles de formularios Windows Forms en .NET Framework SDK
Cómo: Personalizar el formato de los datos en el control DataGridView de formularios Windows FormsControles de formularios Windows Forms en .NET Framework SDK
Cómo: Enlazar datos al control DataGridView de formularios Windows Forms mediante el diseñadorControles de formularios Windows Forms
Cómo: Establecer estilos de celdas y formatos de datos predeterminados en el control DataGridView de formularios Windows Forms mediante el diseñadorControles de formularios Windows Forms
Tutorial: Crear un formulario principal-detalle mediante dos controles DataGridView de formularios Windows FormsControles de formularios Windows Forms en .NET Framework SDK
Cómo: Cambiar el tipo de una columna DataGridView de formularios Windows Forms mediante el DiseñadorControles de formularios Windows Forms
Cómo: Cambiar el tipo de una columna DataGridView de formularios Windows Forms mediante el Diseñadordv_mclictl
Cómo: Enlazar datos al control DataGridView de formularios Windows Forms mediante el diseñadordv_mclictl
Cómo: Establecer estilos de celdas y formatos de datos predeterminados en el control DataGridView de formularios Windows Forms mediante el diseñadordv_mclictl
Cómo: Enlazar datos al control DataGridView de formularios Windows Formsdv_fxmclictl
Cómo: Agregar información sobre herramientas a celdas individuales en un control DataGridView de formularios Windows Formsdv_fxmclictl
Cómo: Establecer estilos de colores y fuentes en el control DataGridView de formularios Windows Formsdv_fxmclictl
Cómo: Dar formato a datos en el control DataGridView de formularios Windows Formsdv_fxmclictl
Tutorial: Validar datos en el control DataGridView de formularios Windows Formsdv_fxmclictl
Cómo: Personalizar el formato de los datos en el control DataGridView de formularios Windows Formsdv_fxmclictl
Tutorial: Crear un formulario principal-detalle mediante dos controles DataGridView de formularios Windows Formsdv_fxmclictl
Cómo: Enlazar datos al control DataGridView de formularios Windows Formsdv_fxmclictl
Cómo: Agregar información sobre herramientas a celdas individuales en un control DataGridView de formularios Windows Formsdv_fxmclictl
Cómo: Establecer estilos de colores y fuentes en el control DataGridView de formularios Windows Formsdv_fxmclictl
Cómo: Dar formato a datos en el control DataGridView de formularios Windows Formsdv_fxmclictl
Tutorial: Validar datos en el control DataGridView de formularios Windows Formsdv_fxmclictl
Cómo: Personalizar el formato de los datos en el control DataGridView de formularios Windows Formsdv_fxmclictl
Tutorial: Crear un formulario principal-detalle mediante dos controles DataGridView de formularios Windows Formsdv_fxmclictl
Cómo: Cambiar el tipo de una columna DataGridView de formularios Windows Forms mediante el Diseñadordv_mclictl
Cómo: Enlazar datos al control DataGridView de formularios Windows Forms mediante el diseñadordv_mclictl
Cómo: Establecer estilos de celdas y formatos de datos predeterminados en el control DataGridView de formularios Windows Forms mediante el diseñadordv_mclictl

Aunque el control DataGridView reemplaza y agrega funcionalidad al control DataGrid de las versiones anteriores, se conserva el control DataGrid por compatibilidad con las versiones anteriores y para uso futuro, si así se elige. Para obtener más información, vea Diferencias entre los controles DataGridView y DataGrid de formularios Windows Forms.

NotaNota:

El control DataGridView hereda las propiedades ContextMenu y ContextMenuStrip de Control, pero sólo admite la propiedad ContextMenuStrip. El uso de la propiedad ContextMenu con el control DataGridView no tiene ningún efecto.

En el ejemplo de código siguiente se muestra cómo inicializar un control DataGridView independiente.

using System;
using System.Drawing;
using System.Windows.Forms;

public class Form1 : System.Windows.Forms.Form
{
    private Panel buttonPanel = new Panel();
    private DataGridView songsDataGridView = new DataGridView();
    private Button addNewRowButton = new Button();
    private Button deleteRowButton = new Button();

    public Form1()
    {
        this.Load += new EventHandler(Form1_Load);
    }

    private void Form1_Load(System.Object sender, System.EventArgs e)
    {
        SetupLayout();
        SetupDataGridView();
        PopulateDataGridView();
    }

    private void songsDataGridView_CellFormatting(object sender,
        System.Windows.Forms.DataGridViewCellFormattingEventArgs e)
    {
        if (this.songsDataGridView.Columns[e.ColumnIndex].Name == "Release Date")
        {
            if (e != null)
            {
                if (e.Value != null)
                {
                    try
                    {
                        e.Value = DateTime.Parse(e.Value.ToString())
                            .ToLongDateString();
                        e.FormattingApplied = true;
                    }
                    catch (FormatException)
                    {
                        Console.WriteLine("{0} is not a valid date.", e.Value.ToString());
                    }
                }
            }
        }
    }

    private void addNewRowButton_Click(object sender, EventArgs e)
    {
        this.songsDataGridView.Rows.Add();
    }

    private void deleteRowButton_Click(object sender, EventArgs e)
    {
        if (this.songsDataGridView.SelectedRows.Count > 0 &&
            this.songsDataGridView.SelectedRows[0].Index !=
            this.songsDataGridView.Rows.Count - 1)
        {
            this.songsDataGridView.Rows.RemoveAt(
                this.songsDataGridView.SelectedRows[0].Index);
        }
    }

    private void SetupLayout()
    {
        this.Size = new Size(600, 500);

        addNewRowButton.Text = "Add Row";
        addNewRowButton.Location = new Point(10, 10);
        addNewRowButton.Click += new EventHandler(addNewRowButton_Click);

        deleteRowButton.Text = "Delete Row";
        deleteRowButton.Location = new Point(100, 10);
        deleteRowButton.Click += new EventHandler(deleteRowButton_Click);

        buttonPanel.Controls.Add(addNewRowButton);
        buttonPanel.Controls.Add(deleteRowButton);
        buttonPanel.Height = 50;
        buttonPanel.Dock = DockStyle.Bottom;

        this.Controls.Add(this.buttonPanel);
    }

    private void SetupDataGridView()
    {
        this.Controls.Add(songsDataGridView);

        songsDataGridView.ColumnCount = 5;

        songsDataGridView.ColumnHeadersDefaultCellStyle.BackColor = Color.Navy;
        songsDataGridView.ColumnHeadersDefaultCellStyle.ForeColor = Color.White;
        songsDataGridView.ColumnHeadersDefaultCellStyle.Font =
            new Font(songsDataGridView.Font, FontStyle.Bold);

        songsDataGridView.Name = "songsDataGridView";
        songsDataGridView.Location = new Point(8, 8);
        songsDataGridView.Size = new Size(500, 250);
        songsDataGridView.AutoSizeRowsMode =
            DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;
        songsDataGridView.ColumnHeadersBorderStyle =
            DataGridViewHeaderBorderStyle.Single;
        songsDataGridView.CellBorderStyle = DataGridViewCellBorderStyle.Single;
        songsDataGridView.GridColor = Color.Black;
        songsDataGridView.RowHeadersVisible = false;

        songsDataGridView.Columns[0].Name = "Release Date";
        songsDataGridView.Columns[1].Name = "Track";
        songsDataGridView.Columns[2].Name = "Title";
        songsDataGridView.Columns[3].Name = "Artist";
        songsDataGridView.Columns[4].Name = "Album";
        songsDataGridView.Columns[4].DefaultCellStyle.Font =
            new Font(songsDataGridView.DefaultCellStyle.Font, FontStyle.Italic);

        songsDataGridView.SelectionMode =
            DataGridViewSelectionMode.FullRowSelect;
        songsDataGridView.MultiSelect = false;
        songsDataGridView.Dock = DockStyle.Fill;

        songsDataGridView.CellFormatting += new
            DataGridViewCellFormattingEventHandler(
            songsDataGridView_CellFormatting);
    }

    private void PopulateDataGridView()
    {

        string[] row0 = { "11/22/1968", "29", "Revolution 9", 
            "Beatles", "The Beatles [White Album]" };
        string[] row1 = { "1960", "6", "Fools Rush In", 
            "Frank Sinatra", "Nice 'N' Easy" };
        string[] row2 = { "11/11/1971", "1", "One of These Days", 
            "Pink Floyd", "Meddle" };
        string[] row3 = { "1988", "7", "Where Is My Mind?", 
            "Pixies", "Surfer Rosa" };
        string[] row4 = { "5/1981", "9", "Can't Find My Mind", 
            "Cramps", "Psychedelic Jungle" };
        string[] row5 = { "6/10/2003", "13", 
            "Scatterbrain. (As Dead As Leaves.)", 
            "Radiohead", "Hail to the Thief" };
        string[] row6 = { "6/30/1992", "3", "Dress", "P J Harvey", "Dry" };

        songsDataGridView.Rows.Add(row0);
        songsDataGridView.Rows.Add(row1);
        songsDataGridView.Rows.Add(row2);
        songsDataGridView.Rows.Add(row3);
        songsDataGridView.Rows.Add(row4);
        songsDataGridView.Rows.Add(row5);
        songsDataGridView.Rows.Add(row6);

        songsDataGridView.Columns[0].DisplayIndex = 3;
        songsDataGridView.Columns[1].DisplayIndex = 4;
        songsDataGridView.Columns[2].DisplayIndex = 0;
        songsDataGridView.Columns[3].DisplayIndex = 1;
        songsDataGridView.Columns[4].DisplayIndex = 2;
    }


    [STAThreadAttribute()]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.Run(new Form1());
    }
}

System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Windows.Forms.Control
        System.Windows.Forms.DataGridView

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 Service Pack 4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0
Mostrar:
© 2014 Microsoft