Ver Mensaje Individual
  #5  
Antiguo 16-12-2022
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 947
Reputación: 25
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Me tome algunas licencias con los nombres de los campos, pero es un ejemplo de otro método para cargar datos a un TListView.

Código Delphi [-]
procedure TForminicio.ClienteAddListView(Cliente_Id: integer;
                                         Cliente_Nombre, 
                     Cliente_Email: string;
                                         Cliente_Foto: TBitmap);
var
    item: TListViewItem;
begin
    item := lvClientes.Items.Add;
    item.Height := 90;
    item.Tag    := Cliente_Id;

    {!PRECAUCION!}
    {Los nombre de los objetos del Item son sencibles a minusculas y mayusculas: 'txtCliente_Nombre', 'txtCliente_Email'...}

    TListItemText(item.Objects.FindDrawable('txtCliente_Nombre')).Text := Cliente_Nombre;
    TListItemText(item.Objects.FindDrawable('txtCliente_Email')).Text := Cliente_Email;
  
    if Cliente_Foto <> nil then
       TListItemImage(item.Objects.FindDrawable('imgCliente_Foto')).Bitmap := Cliente_Foto;
end;

procedure TFrmPrincipal.ClientesListar;
var
    Cliente_foto: TBitmap;
    foto_stream: TStream;
begin
    lvClientes.BeginUpdate;
    lvClientes.Items.Clear;

    with UniQueryVisita do
    begin
        Active := false;
        SQL.Clear;
        SQL.Add('select * from Clientes order by Cliente_id');
        Active := true;

        while NOT eof do
        begin
             Cliente_Foto := nil;
       
       if not FieldByName('Cliente_Foto').IsNull then
             begin
                foto_stream := CreateBlobStream(FieldByName('Cliente_Foto'), TBlobStreamMode.bmRead);
        
                Cliente_Foto:= TBitmap.Create;
                Cliente_Foto.LoadFromStream(foto_stream);

                foto_stream.DisposeOf;
            end;

            ClienteAddListView(FieldByName('Cliente_id').AsInteger,
                               FieldByName('Cliente_Nombre').AsString,
                               FieldByName('Cliente_email').AsString,
                               Cliente_Foto);

            Next;
        end;
    end;

    lvClientes.EndUpdate;
end;

Espero te ayude, saludos cordiales
Responder Con Cita