ListView con checkboxes

13/08/2007 - 02:54 por Gustavo | Informe spam
Estimados tengo un control ListView con la propiedad checkboxes en true.
Mi objetivo es poner un boton y programar el evento click del mismo para que
me borre todos los elementos de la lista cuyo check = false.

Hay forma de detectar la colección de todo lo que esta NO CHEQUEADO y
borrarlo.?

muchas gracias
 

Leer las respuestas

#1 Guillermo guille
13/08/2007 - 12:18 | Informe spam
La única forma de saberlo es recorriéndolos todos, ya que para saber si
están "checkeados" hay una colección (CheckedIndices) pero no para saber si
no están checkeados, por tanto, lo que yo haría es lo siguiente:

// Eliminar los elementos no checkeados de un listview
if(ListView1.Items.Count > 0)
{
for(int i = ListView1.Items.Count - 1; i >= 0; i--)
{
if(ListView1.Items[i].Checked == false)
{
ListView1.Items.RemoveAt(i);
}
}
}

Para eliminar los checkeados es más "simple" o al menos solo se comprueban
los que si lo están:

// Eliminar los elementos checkeados de un listview
if(ListView1.CheckedIndices.Count > 0)
{
for(int i = ListView1.CheckedIndices.Count - 1; i >= 0; i--)
{
ListView1.Items.RemoveAt(ListView1.CheckedIndices[i]);
}
}

El que los bucles sean de mayor a menor es porque si no se hace así... pues
ya verás lo que te pasa ;-)))

Nos vemos
Guillermo

Microsoft MVP Visual Basic desde 1997
Tus consultas en los foros del Guille: http://foros.elguille.info/


"Gustavo" wrote in message
news:
Estimados tengo un control ListView con la propiedad checkboxes en true.
Mi objetivo es poner un boton y programar el evento click del mismo para
que
me borre todos los elementos de la lista cuyo check = false.

Hay forma de detectar la colección de todo lo que esta NO CHEQUEADO y
borrarlo.?

muchas gracias


Preguntas similares