PDA

Ver la Versión Completa : Cabecera de datagrid


Mariolarr
13-09-2007, 10:13:10
Hola a todos, estoy dando mis primeros pasos en Delphi 2006 .NET y tengo una duda seguro que muy facil de resolver:
Tengo un datagrid que se le cargan los datos automaticamente al hacer una consulta en SQL, los campos cabecera cojen el nombre que tengo definido en la tabla, ¿alguién me podría decir como asignarles en el grid el nombre que yo quiero?

Muchas gracias a todos.

gluglu
13-09-2007, 10:19:28
Para ello tienes que crear 'Columnas' en el DBGrid.

Tienes que pulsar DobleClick encima del Grid y ahí te saldrá una pantallita adicional donde puedes ir añadiendo columnas con Insert.

Una vez creadas las columnas que requieras, cada columna tiene entonces unas propiedades individuales. Entre ellas tienes la propiedad 'Title', y dentro de dicha propiedad, tienes entre otros 'Caption' que te permitirá hacer lo que deseas.

Seguro que con ello descubres otras muchas posibilidades.

Saludos ;)

Mariolarr
13-09-2007, 10:39:35
Muchas gracias por responder, lo que ocurre es que para que cargue los datos tengo que lo haga automáticamente en tiempo de ejecución, y para hacer lo que tu dices tendria que leer registro a registro que la verdad me interesa por otro motivo pero tampoco se como leer cada uno de los registros que me devuelve, a continuación te pongo el codigo que tengo para que lo veas:

sSQL := 'select Art_Codi, Art_Desc, Art_EPV_Coste from Articulos';
Cadena := BdpCommand.Create(sSQL, MyConeccion, Trans);
CatalogoReader := Cadena.ExecuteReader;

DataGrid1.DataSource:=CatalogoReader;
DataGrid1.DataBind;

CatalogoReader.Close;

gluglu
13-09-2007, 11:26:26
Si utilizas el DataGrid para varias sentencias diferentes, con tabals diferentes y campos distintos, se hace la cosa más complicada ya que tendrás para cada caso que contemplarlo en tiempo de ejecución de manera diferente.

Si el DataGrid sólo lo utilizas para una consulta, puedes 'engañarlo' creando una sentencia SQL 'temporal' en tiempo de diseño y crear tus columnas en tiempo de diseño. Una vez hayas terminado, borras de nuevo el elemento SQL y te funcionará correctamente en tiempo de ejecución.

Si como dije al principio, el mismo DataGrid lo utilizas para diferentes sentencias y diferentes tablas, pues tendrás que crear cada columna y asignarle las propiedades correspondientes a cada una de ellas en tiempo de ejecución, 'al igual' que lo harías en tiempo de diseño.

No entiendo del todo lo que quieres decir con 'leer registro a registro'. No es necesario referirte a cada registro. A no ser que estés intentando hacer algo que no haya entendido yo. :o