TOC

This article is currently in the process of being translated into Spanish (~50% done).

El control DataGrid:

The DataGrid control

El control DataGrid es parecido al ListView, cuando usamos un GridView, pero ofrece una funcionalidad adicional. Por Ejemplo, el DataGrid puede generar columnas automáticamente, dependiendo de los datos que se le proporciona. El DataGrid también se puede editar de forma predeterminada, lo que permite al usuario final cambiar los valores sobre el origen de los datos.

El uso mas común de los DataGrid es en combinación con una base de datos, como la mayoría de los controles WPF, trabaja igual de bien con un origen en memoria, como una lista de objetos. Ya que es mucho más fácil de demostrar, nosotros utilizaremos principalmente este último enfoque en este tutorial.

Un simple DataGrid

Puedes empezar usando el DataGrid sin establecer ninguna propiedad, porque el control está listo para usarse sin necesidad de ninguna configuración previa. En este primer ejemplo, haremos justo eso, y luego asignaremos nuestra propia lista de objetos de Usuario como el origen de los objetos.

<Window x:Class="WpfTutorialSamples.DataGrid_control.SimpleDataGridSample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="SimpleDataGridSample" Height="180" Width="300">
    <Grid Margin="10">
<DataGrid Name="dgSimple"></DataGrid>
</Grid>
</Window>
using System;
using System.Collections.Generic;
using System.Windows;

namespace WpfTutorialSamples.DataGrid_control
{
public partial class SimpleDataGridSample : Window
{
public SimpleDataGridSample()
{
InitializeComponent();

List<User> users = new List<User>();
users.Add(new User() { Id = 1, Name = "John Doe", Birthday = new DateTime(1971, 7, 23) });
users.Add(new User() { Id = 2, Name = "Jane Doe", Birthday = new DateTime(1974, 1, 17) });
users.Add(new User() { Id = 3, Name = "Sammy Doe", Birthday = new DateTime(1991, 9, 2) });

dgSimple.ItemsSource = users;
}
}

public class User
{
public int Id { get; set; }

public string Name { get; set; }

public DateTime Birthday { get; set; }
}
}

That's really all you need to start using the DataGrid. The source could just as easily have been a database table/view or even an XML file - the DataGrid is not picky about where it gets its data from.

If you click inside one of the cells, you can see that you're allowed to edit each of the properties by default. As a nice little bonus, you can try clicking one of the column headers - you will see that the DataGrid supports sorting right out of the box!

The last and empty row will let you add to the data source, simply by filling out the cells.

Summary

As you can see, it's extremely easy to get started with the DataGrid, but it's also a highly customizable control. In the next chapters, we'll look into all the cool stuff you can do with the DataGrid, so read on.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!