Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   eliminar fila seleccionada en un listview (https://www.clubdelphi.com/foros/showthread.php?t=82059)

jfrancho 21-01-2013 22:02:05

eliminar fila seleccionada en un listview
 
Buenas tardes, estoy intentando eliminar una fila seleccionada pero no logro conseguirlo, lo que quiero realizar es que en un conjunto de datos mostrados en un listview, el operador selecciona una fila y la borra; el problema que tengo es que me borra siempre el último registro, hace caso omiso a la fila seleccionada. este es el código que utilizo para borrar.
Código Delphi [-]
ListView1.Items[0].Delete;
, borra toda la fila pero no la seleccionada, desde ya saludos a la comunidad y muchas gracias.-v\||/

ecfisa 21-01-2013 22:14:25

Hola jfrancho.

Proba de este modo:
Código Delphi [-]
 if Assigned(ListView1.Selected) then
   ListView1.Items[ListView1.Selected.Index].Delete;

Saludos.

jfrancho 21-01-2013 22:42:06

Se sigue comportando de la misma forma elimina una fila pero no la seleccionada.v\||/

ecfisa 21-01-2013 22:57:07

1 Archivos Adjunto(s)
Cita:

Empezado por jfrancho (Mensaje 453801)
Se sigue comportando de la misma forma elimina una fila pero no la seleccionada.v\||/

Hola.

Realmente me resulta muy extraño... A mi me funciona correctamente.

Te adjunto un ejemplo, lo más simplificado que pude, usando formato vsReport.

Saludos.

jfrancho 21-01-2013 23:13:12

tu ejemplo realmente funciona, verá que pasa con mi programa, estudiaré tu código y lo mismo para ver cual es el problema en mi programa, desde ya muchas gracias.-:D

ozsWizzard 22-01-2013 18:57:17

Cita:

Empezado por ecfisa (Mensaje 453800)
Hola jfrancho.

Proba de este modo:
Código Delphi [-]
 if Assigned(ListView1.Selected) then
   ListView1.Items[ListView1.Selected.Index].Delete;

Saludos.

Pregunta chorra:

Una vez que te aseguras que hay un elemento seleccionado ¿No sería más fácil borrar directamente el "Selected"?. Es decir:
Código Delphi [-]
 if Assigned(ListView1.Selected) then
   ListView1.Selected.Delete;


Sé que el resultado es exactamente el mismo, pero de la otra forma tendría que "buscar" cual es el elemento con ese indice.

ecfisa 22-01-2013 20:36:52

Cita:

Empezado por ozsWizzard (Mensaje 453841)
Pregunta chorra:

Una vez que te aseguras que hay un elemento seleccionado ¿No sería más fácil borrar directamente el "Selected"?.

...

Sé que el resultado es exactamente el mismo, pero de la otra forma tendría que "buscar" cual es el elemento con ese indice.

Hola.

Si, es mas sencillo de ese modo.

Saludos. :)


La franja horaria es GMT +2. Ahora son las 16:30:53.

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