Ver Mensaje Individual
  #6  
Antiguo 12-01-2023
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Reputación: 2
giantonti1801 Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Depende de cómo hayas creado esos elementos.
En mi caso que utilizo ese sistema:
https://blog.delphiedintorni.it/2014...tlistview.html

Se puede acceder a los detalles de la siguiente forma (aunque uses otro, es posible que se pueda extrapolar) accediendo a los objetos:

En el evento OnItemclick hay lo siguiente:
Código Delphi [-]
var
  Str:String;
begin
    // recorrer los diferentes Objetos del Item
  for var I:integer := 0 to (AItem.Objects.Count-1) do 
    // Si son de tipo Texto los Añado
    if (AItem.Objects[i] is TListItemText) then
      Str := Str + TListItemText(AItem.Objects[i]).Text + SLineBreak;

  ShowMessage('Objects:' + Str);

En mi caso con un Listview así:



Si pulsas en los Items, obtienes esto:

(En el segundo)


(En el cuarto)
Esta opción me Trae la información que necesito perfectamente pero al momento de aplicar un where no me esta leyendo la información sustraída por
Código Delphi [-]
Str
puedo pensar que puede haber un problema con el texto talvez necesita una conversión para ser leido, Lo insólito que no me esta arrojando ningún error pero no me muestra ninguna información;

Código Delphi [-]
procedure TForminicio.ListView1ItemClick(const Sender: TObject;
  const AItem: TListViewItem);
  var
  item: TListViewItem;
  streamIMG : TStream;
  Str:String;
  begin
   // recorrer los diferentes Objetos del Item
    for var I:integer := 0 to (AItem.Objects.Count-1) do
    // Si son de tipo Texto los Añado
    if (AItem.Objects[i] is TListItemText) then
    Str := TListItemText(AItem.Objects[i]).Text + SLineBreak;
    Label21.Text := (Str);
    //ShowMessage(Str);
    begin
      UniQueryDetalleVisita.Close;
      UniQueryDetalleVisita.SQL.Clear;
      UniQueryDetalleVisita.SQL.text := 'select V.Rut__vis, V.Num_dep_Vis, V.Nom_Vis, V.Piso__Vis, V.Acept_Vis, V.Hora_in_vis, V.act_vis, V.cometario,  I.FOTO  from visitas V'+
                                       ' Inner Join IMG I on V.N_reg = I.REGISTRO where Rut__Vis = :Rut__Vis';// and Num_dep_Vis = :Num_dep_Vis order by Hora_in_vis ';
      UniQueryDetalleVisita.ParamByName ('Rut__Vis').Asstring := Label21.Text;

Última edición por giantonti1801 fecha: 12-01-2023 a las 14:39:07.
Responder Con Cita