Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Crear cabeceras Listview como? (https://www.clubdelphi.com/foros/showthread.php?t=29746)

Coco_jac 31-01-2006 17:57:08

Crear cabeceras Listview como?
 
Hola amigos del foro, como puedo crear en un listview cabeceras dinamicamente en tiempo de ejecucion, ya que quiero realizar una pequeña aplicacion donde el usuario haga consultas y se filtre en un listview el resultado.
Gracias anticipadas.

dec 31-01-2006 18:04:51

Hola,

El componente a que te refieres cuenta con una propiedad "Columns". Las columnas que definas se corresponden con las cabeceras: es la propiedad "Caption" de dichas columnas la que se muestra en la "cabecera" correspondiente. En todo caso, lo que no sé y me queda la duda es de si el componente "TListView" es el más adecuado para lo que te propones. ¿No sería mejor un "TDbGrid" o algo así? ;)

Coco_jac 31-01-2006 18:12:06

Si de seguro seria lo ideal, pero un Dbgrid no sigue enlazado a la tabla (abierta) mientas se esta visualizando la data?, bueno quiero evitar eso usando Listview.

dec 31-01-2006 18:16:48

Hola,

Lo cierto es que no tengo experiencia en los controles que para trabajar con bases de datos cuenta Delphi. Lo que sí que tengo más o menos claro es que el componente "TListView" no está pensado para ese trabajo. O mucho me equivoco. En todo caso lo mismo existe ya (es probable) una versión de ese componente ampliada para hacer de control para trabajar con bases de datos. En fin, ya ves que no puedo ayudarte en mucho. ;)

Coco_jac 31-01-2006 18:26:19

Gracias por tu apoyo.................

Coco_jac 31-01-2006 19:21:49

Bueno resulto muy parecido a crear items , aqui lo dejo poe si alguien le sirva
Código:

var
 columna:Tlistcolumn;
  begin
    columna:=listview.Columns.Add;
    columna.Caption:='tituloprueba';


roman 31-01-2006 19:36:22

Hola,

No entiendo bien porqué evitas el DBGrid. ¿Quieres poder cerrar la conexión y seguir mostrando los datos? En tal caso puedes valerte de un ClientDataSet conectado al DataSet original via un Provider:

Código:

DataSet<--DataSetProvider<--ClientDataSet<--DataSource<--DBGrid
Cuando abras el ClientDataSet, éste obtendrá los datos através del provider y los mostrará en el dbgrid. Si en ese momento cierras el DataSet original, los datos siguen mostrándose ya que el ClientDataSet los tiene en memoria.

De esta forma logras mantener cerrada la conexión y aún así disponer de la potencia y ventajas de un dbgrid.

// Saludos

Coco_jac 31-01-2006 20:02:17

Hola Roman, gracias por tu apoyo eh escuchado eso antes pero nunca lo eh realizado. Si trato de de cerrar la conexion, es una apliaccion que correra en Red, te agradeceria si me dieras un pequeño ejemplo de como usarlo, porque la verdad no se como usar el ClientDataSet.

Muchas Gracias espero tus repuesta.

roman 31-01-2006 20:14:02

Pues tal como te menciono.

Agrega el paquete "Borland MyBase" con lo que dispondrás de TClientDataSet y TDataSetProvider en la pestaña "Data Access". El DataSetProvider tiene su propiedad DataSet para conectarlo al dataset que estés usando y el ClientDataSet tiene su propiedad ProviderName que usas para enlazarlo al provider. Todo esto en el inspector de objetos.

Puedes incluso modificar datos "off-line" y enviarlos posteriormente con ClientDataSet.ApplyUpdates, abriendo, en ese momento, la conexión.

// Saludos


La franja horaria es GMT +2. Ahora son las 11:56:00.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi