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

Preguntas similare

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


Respuesta Responder a este mensaje
#2 Gustavo
13/08/2007 - 16:09 | Informe spam
Gullermo, muchisimas gracias
Lo unico que me faltaba era hacerlo de mayor a menor
Por eso me causo gracia el final de tu mail

Saludos y gracias nuevamente

"Guillermo 'guille'" escribió en el mensaje
news:
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





Respuesta Responder a este mensaje
#3 Guillermo guille
18/08/2007 - 02:51 | Informe spam
es que son muchos años borrando cosas, je, je, je

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:
Gullermo, muchisimas gracias
Lo unico que me faltaba era hacerlo de mayor a menor
Por eso me causo gracia el final de tu mail

Saludos y gracias nuevamente

"Guillermo 'guille'" escribió en el mensaje
news:
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









email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida