7 marzo, 2013

Como cambiar el nombre de las columnas de un DataGridView en C#

Siguiendo con lo explicado en el post (Leer ficheros XML a través de DataSet (c#)) al final del post se muestra un ejemplo de como leer un fichero xml con un dataset y se mostraba el contenido en un DataGribView. En este ejemplo los nombres que aparecen en las cabeceras de las columnas son los nombres de los campos que están en el fichero. Para modificar estos nombres solo hay que utilizar la siguiente función implementada dentro del objeto DataGridView

dataGridView1.Columns[0].HeaderText = "TextoAMostrarEnLaCabecera";

El numero entre corchetes en Columns, en el ejemplo 0, es el numero de la columna que vamos a cambiar el texto del encabezado. Las columnas empiezan ha enumerarse desde el 0, es decir la primera columna es la 0.

Ejemplo de funcionamiento.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Xml_DataSet_1
{
    public partial class fLeerXmlDataSet : Form
    {
        // Objeto dataset para manejar el fichero
        // no le ponemos nombre de la base de datos para poder abrir cualquier fichero
        DataSet dsLeerFicheroXML = new DataSet();

        public fLeerXmlDataSet()
        {
            InitializeComponent();
        }

        private void bAbrirFicheroXml_Click(object sender, EventArgs e)
        {
            // Limpiamos el contenido anterior
            dsLeerFicheroXML.Clear();

            // Creamos el objeto para abrir el fichero
            OpenFileDialog odAbrirFicheroXML = new OpenFileDialog();
            // Le ponemos un filtro para ver solamente los ficheros XML
            odAbrirFicheroXML.Filter = "Ficheros Xml|*.xml";

            // Montramos el dialogo para abrir el fichero XML
            if (odAbrirFicheroXML.ShowDialog() == DialogResult.OK)
            {
                // Si se ha pulsado el boton de OK
                // Le pasamos el nombre del fichero al DataSet para abrirlo
                dsLeerFicheroXML.ReadXml(odAbrirFicheroXML.FileName);
                // Le pasamos el contenido de la primera tabla del fichero al DataGridView
                dgvLeerFicheroXML.DataSource = dsLeerFicheroXML.Tables[0];

                // cambiamos el nombre de las columnas del DataDridView
                for (int vCont = 0; vCont < dgvLeerFicheroXML.ColumnCount; vCont++)
                {
                    dgvLeerFicheroXML.Columns[vCont].HeaderText = "Columna " + (vCont + 1).ToString();
                }
            }
        }
    }
}

Fácil, No?