• Domingo 12 de Mayo de 2024, 22:08

Autor Tema:  Borrar datos de un ListView  (Leído 5363 veces)

csrkstro

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Borrar datos de un ListView
« en: Miércoles 16 de Junio de 2010, 07:06 »
0
hola, tengo un listview con 3 columnas y necesito borrar una fila entera seleccionada, he probado varios metodos pero no me funciona como este:

           for (i = 0; i <= Convert.ToInt32(listView_datos.Items.Count - 1); i++)
            {            
                listView_datos.Items.Remove(listView_datos.SelectedItems);
            }

pero me da este error:

InvalidArgument=El valor de '1' no es válido para 'index'.
Nombre del parámetro: index


de antemano gracias...

gerloxxx

  • Miembro MUY activo
  • ***
  • Mensajes: 121
    • Ver Perfil
Re: Borrar datos de un ListView
« Respuesta #1 en: Jueves 17 de Junio de 2010, 16:49 »
0
Hola, tu problema está en el for
for (i = 0; i <= Convert.ToInt32(listView_datos.Items.Count - 1); i++)

debería ser algo como esto:

for (i = 0; i <= Convert.ToInt32(listView_datos.SelectedItems.Count - 1); i++)

que solo recorrería los items seleccionados, solo ten en cuenta que al ir eliminando items seleccionados la propiedad Count ira cambiando y al final el ciclo puede no ser lo que deseas...


yo te recomiendo utilizar mejor el foreach()

espero te sirva mi sugerencia, saludos

csrkstro

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Borrar datos de un ListView
« Respuesta #2 en: Viernes 18 de Junio de 2010, 02:23 »
0
gracias me resulto a la perfeccion!!!

me podrias explicar como funciona el foreach()???

morringos

  • Miembro activo
  • **
  • Mensajes: 65
  • Nacionalidad: 00
    • Ver Perfil
Re: Borrar datos de un ListView
« Respuesta #3 en: Miércoles 7 de Julio de 2010, 16:39 »
0
El foreach es muy útil cuando quieres hacer lectura de todos los elementos de un arreglo ó algo similar.

Por ejemplo:
Desplegaremos todos los datos de un arreglo de caracteres.

Código: C#
  1.  
  2. char[] Letras = { 'a', 'b', 'c', 'd', 'e' };
  3.         foreach (char l in Letras)
  4.             Console.WriteLine("La letra es: {0} ", l);
  5.  
  6.         Console.ReadKey();
  7.  
  8.  
Eso dará como resultado...
La letra es: a
La letra es: b
La letra es: c
La letra es: d
La letra es: e

La diferencia entre for y foreach, es de que con foreach, es de lectura, eso es que si tu quieres hacer algo como Letras[2]= 'n', no podrás.
Otra diferencia es que con foreach empiezas desde el primer elemento y terminas hasta el último elemento con incremento de 1, mientras con el for, tu puedes indicar de donde hasta donde y también puedes indicar el incremento.


Saludos bro!;