Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   ListView y sus campos !!! (https://www.clubdelphi.com/foros/showthread.php?t=65765)

Ledian_Fdez 11-01-2010 22:12:55

ListView y sus campos !!!
 
Hola amigo de este foro.

Cita:

Tengo un ListVehic (TListView) que contiene 4 columnas, estas son:

ListVehic.Columns[0].Caption := 'Chapa'
ListVehic.Columns[1].Caption := 'Fecha'
ListVehic.Columns[2].Caption := 'Tipo'
ListVehic.Columns[3].Caption := 'Km'
Cita:

ListVehic.RowSelect := true
Quisiera que en el evento SelectItem guardar en variables según lo seleccionado para Chapa, Fecha, y Km.

La chapa se guarda sin problema.
En la Fecha se me guarda todo los SubItems. (solo quiero guardar el contenido de la fecha)
Y en el Tipo ni siquiera se como podría guardarlo.

Aquí esta el código.

Código Delphi [-]
procedure TRegistroForm.ListVehicSelectItem(Sender: TObject;
  Item: TListItem; Selected: Boolean);
begin
 if Selected then
   begin
//Guardo la chapa
     TextCH := Item.Caption;
// Quiero guardar el contenido seleccionado de la columna Fecha
     TextFecha := Item.SubItems.Text;
// Quiero guardar el contenido seleccionado de la columna Tipo
     //TextTipo := ?
   end;
end;

En espera de su ayuda,
un Delphiano.

Salu2,
Gracias.

ElKurgan 12-01-2010 09:28:55

Cita:

Empezado por Ledian_Fdez (Mensaje 350479)

La chapa se guarda sin problema.
En la Fecha se me guarda todo los SubItems. (solo quiero guardar el contenido de la fecha)
Y en el Tipo ni siquiera se como podría guardarlo.

Aquí esta el código.
Código Delphi [-]procedure TRegistroForm.ListVehicSelectItem(Sender: TObject;
Item: TListItem; Selected: Boolean);
begin
if Selected then
begin
//Guardo la chapa
TextCH := Item.Caption;
// Quiero guardar el contenido seleccionado de la columna Fecha
TextFecha := Item.SubItems.Text;
// Quiero guardar el contenido seleccionado de la columna Tipo
//TextTipo := ?
end;
end;



Deberías hacer esto:

Código Delphi [-]
procedure TRegistroForm.ListVehicSelectItem(Sender: TObject;
  Item: TListItem; Selected: Boolean);
begin
 if Selected then
 begin
 //Guardo la chapa
 TextCH := Item.Caption;
 // Guarda el contenido seleccionado de la columna Fecha
 TextFecha := Item.SubItems[1];
 // Guarda el contenido seleccionado de la columna Tipo
 //TextTipo := Item.SubItems[2];
end;
end;

Un saludo

Ledian_Fdez 12-01-2010 13:48:59

Esto es una locura !!!
 
ElKurgan al poner:
Código Delphi [-]
TextFecha := Item.SubItems[1];

Código Delphi [-]
procedure TRegistroForm.ListVehicSelectItem(Sender: TObject;
  Item: TListItem; Selected: Boolean);
begin
 if Selected then
 begin
 //Guardo la chapa
 TextCH := Item.Caption;
 // Guarda el contenido seleccionado de la columna Fecha
 TextFecha := Item.SubItems[1];
 // Guarda el contenido seleccionado de la columna Tipo
 //TextTipo := Item.SubItems[2];
end;
end;

Da el siguiente error:

[Error] Registro.pas(532): Record, object or class type required

Luego y si lo pongo como explicaba anteriormente:
Código Delphi [-]
TextFecha := Item.SubItems.Text;
En la variable TextFecha se me guarda de los el contenido de los SubItems de la siguiente manera.
Cita:

Fecha□□tipo□□Km□□
Estoy al volverme loco, no se que hacer... :eek:

Salu2 y Gracias de antemano.

ElKurgan 12-01-2010 14:26:19

¿Y de que tipo está declarado "TextFecha"? Porque a mi me funciona bien

Saludos

Ledian_Fdez 12-01-2010 14:34:42

mmm !!!
 
Código Delphi [-]
public
    TextCH : String;

ElKurgan 12-01-2010 14:49:48

¿Y como tienes el estilo del listview?... Con estilo "vsReport" la propiedad caption te devuelve la cadena de la primera columna del item seleccionado. Es verdad que no puse bien los subindices, ya que el indice "0" te devuelve la cadena de la segunda columna.

Por tanto no se a que viene ese error

Por cierto, la propiedad text lo que hace es intentar convertir a cadena todo el objeto completo. Si tienes un stringlist y le dices que muestre su "Text" lo que hace es sacarte todo el contenido separado por retornos de carro

Saludos

Ledian_Fdez 12-01-2010 15:19:08

?
 
ViewStyle = vsReport

Por favor como quedaría entonces? A mi no me funciona!!! :confused:

ElKurgan 13-01-2010 07:23:35

1 Archivos Adjunto(s)
Aqui te adjunto un pequeño ejemplo de uso que espero te sirva de ayuda

Un saludo


La franja horaria es GMT +2. Ahora son las 19:36:31.

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