Foros del Web » Programación para mayores de 30 ;) » .NET »

Header Text de Filas

Estas en el tema de Header Text de Filas en el foro de .NET en Foros del Web. Buenas, Estoy intentando añadir texto al encabezado de las filas de un DataGridView en C#, pero no hay manera, solo he encontrado el CellPainting. Busco ...
  #1 (permalink)  
Antiguo 29/12/2009, 05:34
 
Fecha de Ingreso: diciembre-2007
Mensajes: 10
Antigüedad: 16 años, 4 meses
Puntos: 0
Header Text de Filas

Buenas,

Estoy intentando añadir texto al encabezado de las filas de un DataGridView en C#, pero no hay manera, solo he encontrado el CellPainting. Busco alguna manera sencilla como para el caso de las columnas (ej: dataGridView1.Columns[i].HeaderText), lo mismo pero para filas.

Gracias!
  #2 (permalink)  
Antiguo 30/12/2009, 02:03
Avatar de triqui  
Fecha de Ingreso: diciembre-2008
Ubicación: Zaragoza(España)
Mensajes: 624
Antigüedad: 15 años, 4 meses
Puntos: 31
Respuesta: Header Text de Filas

Puedes hacerlo de muchas formas, Una forma es lo primero que tienes que hacer es no declararte las columnas predefinidas(en las propiedades me refiero), puedes crearlas dinamicamente por ejemplo:

//Con esto te creas dos columnas


dataGridView1.Columns.Insert(0, new DataGridViewTextBoxColumn());
//Te declaras como quieres que sea la columna, en este caso textbox, pero puedes meter images por ejemplo.
dataGridView1.Columns[0].Name = "Código";
//Nombre Cabecera columna primera
dataGridView1.Columns[0].ToolTipText = "Código del campo";
dataGridView1.Columns[0].MinimumWidth = 40;
dataGridView1.Columns.Insert(1, new DataGridViewTextBoxColumn());
//Nombre Cabecera de la columna segunda
dataGridView1.Columns[1].Name = "Nombre";
dataGridView1.Columns[1].ToolTipText = "Nombre del Código";
dataGridView1.Columns[1].MinimumWidth = 150;
//Loingitud minima de la cabecera


//Luego lo rellenas, en este ejemplo apartir de un datatable

for (int k = 0; k < MiDatatable.Rows.Count; k++)
{
dataGridView1.Rows.Add(MiDatatable[k][0].ToString(), MiDatatable.Rows[k][1].ToString());
}

//Luego puedes añadir esto para que no te lo puedan ordenar por ejemplo

for (int k = 0; k < dataGridView1.Columns.Count; k++)
{
dataGridView1.Columns[k].SortMode = DataGridViewColumnSortMode.NotSortable;
}

//RECUERDA QUE:

//si vuelves a cargar el DataGridview te dará error, tendrás que vaciarlo de las columnas que le acabas de meter, para eso, deberás poner antes de declarartelas,tendrás que poner lo siguiente:


dataGridView1.Columns.Clear();
//Eliminaslas columnas
dataGridView1.Rows.Clear();
//Eliminas las filas


Suerte.
__________________
La nueva red social de quinielas quiniela resultados
Cazaresultados Futbol base en directo
  #3 (permalink)  
Antiguo 30/12/2009, 06:21
 
Fecha de Ingreso: diciembre-2007
Mensajes: 10
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Header Text de Filas

Creo que no he sabido explicarme, aunque m[IMG][/IMG]uchas gracias por la respuesta, me ha servido para otras cosas que tenia que hacer.

Vuelvo a hacer la pregunta, al igual que pude escribir el encabezado de las columnas con:

dataGridView4.Columns[i].HeaderText = "Especie " + m; //Encabezado = Especie m

No hay manera para escribir el ancabezado de las filas



[URL=http://img685.imageshack.us/i/dibujowlg.jpg/][IMG]http://img685.imageshack.us/img685/5720/dibujowlg.th.jpg[/IMG][/URL]
  #4 (permalink)  
Antiguo 30/12/2009, 09:37
Avatar de triqui  
Fecha de Ingreso: diciembre-2008
Ubicación: Zaragoza(España)
Mensajes: 624
Antigüedad: 15 años, 4 meses
Puntos: 31
Respuesta: Header Text de Filas

Buff, vale te entendi eso nunca lo hize lo siento.

Te puedo dar una idea que se me acaba de ocurrir si nadie te lo resuelve.

Imaginate que tienes estos datos:


Nombrecolumna1 | Nombrecolumna2| Nombrecolumna3
ColumnaValor[0][0] | ColumnaValor[0][1] | ColumnaValor[0][2]
ColumnaValor[1][0] | ColumnaValor[1][1] | ColumnaValor[1][2]
ColumnaValor[2][0] | ColumnaValor[2][1] | ColumnaValor[2][2]
ColumnaValor[3][0] | ColumnaValor[3][1] | ColumnaValor[3][2]
... ... ...



Create un DataTable y desplazas esos valores hacia la derecha para añadirte una nueva columna con posición cero que contenga los nombres de las filas que tu quieres, para que te hagas una idea qudaría así


(Sin nombre) |Nombrecolumna1 | Nombrecolumna2 | Nombrecolumna3
NombreFila1[0][0] | ColumnaValor[0][1] | ColumnaValor[0][2]|ColumnaValor[0][3]
NombreFila2[1][0] | ColumnaValor[1][1] | ColumnaValor[1][2]|ColumnaValor[1][3]
NombreFila3[2][0] | ColumnaValor[2][1] | ColumnaValor[2][2]|ColumnaValor[2][3]
NombreFila4[3][0] | ColumnaValor[3][1] | ColumnaValor[3][2]|ColumnaValor[3][3]
... ... ... ...


Por supuesto tendrás que personalizar toda la cabecera y toda la columna 0 para que sean iguales para dar esa apariencia.

Espero que te inspire, un saludo y suerte
__________________
La nueva red social de quinielas quiniela resultados
Cazaresultados Futbol base en directo
  #5 (permalink)  
Antiguo 27/07/2010, 19:25
 
Fecha de Ingreso: julio-2010
Mensajes: 1
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Header Text de Filas

por si alguien se pregunta, si me fije en la fecha original del post XD

yo me encontré con el mismo problema que vos y encontré una solución:

dataGridView1.Rows[0].HeaderCell.Value = "Nombre cabecera";

simple :P, lo unico que me tengo que poner a ver ahora es como hacer para que el header de la fila se me ajuste automáticamente al texto que tiene.

en ejecución queda así:

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:27.