Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Insertar datos en un listview (https://www.clubdelphi.com/foros/showthread.php?t=37895)

ebreton31 25-11-2006 18:17:18

Insertar datos en un listview
 
buenos dias alguien me podria decir como insertar datos de una tabla de en un listview
todo lo hagon en tiempo de ejecucion
QPrinsipal.SQL.Text := 'Select * from Cotizaciones '
mi listview esta en ViewStyle = vsReport
gracias

Lepe 25-11-2006 23:30:57

Precisamente hace poco has preguntado el paso inverso, deberías entender ese código, solo tienes que añadir dos líneas más para crear cada item del ListView, e invertir el orden de esas líneas. F1 debería bastar.

Saludos

ebreton31 27-11-2006 20:51:27

gracias
 
asi lo pude resolver gracias
Código:

QCotizaD.First;
  while not QCotizaD.Eof do
  begin
    Item := JvListView1.Items.Add;
    Item.Caption :=  QCotizaD.FieldByName('claveProd').AsString;
    Item.SubItems.Add(QCotizaD.FieldByName('Descripcion').AsString);
    Item.SubItems.Add(QCotizaD.FieldByName('Cantidad').AsString);
    Item.SubItems.Add(FormatFloat(' ##,###.00', QCotizaD.FieldByName('PrecioVenta').AsFloat));
    Item.SubItems.Add(FormatFloat(' ##,###.00',QCotizaD.FieldByName('Total').AsFloat));
    QCotizaD.Next;
  end;


Lepe 28-11-2006 01:53:29

Pues sinceramente me alegro, si no tienes inconveniente, me gustaría contribuir con una pequeña optimización:
Código Delphi [-]
 QCotizaD.DisableControls;
 try
 QCotizaD.First;
  while not QCotizaD.Eof do
  begin
    Item := JvListView1.Items.Add;
    Item.Caption :=  QCotizaD.FieldByName('claveProd').AsString;
    Item.SubItems.Add(QCotizaD.FieldByName('Descripcion').AsString);
    Item.SubItems.Add(QCotizaD.FieldByName('Cantidad').AsString);
    Item.SubItems.Add(FormatFloat(' ##,###.00', QCotizaD.FieldByName('PrecioVenta').AsFloat));
    Item.SubItems.Add(FormatFloat(' ##,###.00',QCotizaD.FieldByName('Total').AsFloat));
    QCotizaD.Next;
  end;
finally
  QCotizaD.EnableControls;
end;

Tal y como dice la ayuda, al no tener que "sincronizar los controles dbaware con los datos actuales de la consulta", el bucle se ejecuta más rápido.

Saludos


La franja horaria es GMT +2. Ahora son las 16:35:59.

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