Autor Tema: Listview: selección múltiple  (Leído 3231 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 402
  • Reputación: +33/-2
    • Ver Perfil
Listview: selección múltiple
« en: Julio 01, 2013, 09:36:35 pm »
Hola, muchachos.
Tengo un problema con el ListView.
Voy a ejemplificar el problema.
Cargo un listado en el Listview.
Mediante código selecciono una línea ("ListView1.ListItems(10).Selected = True").
Luego, presionando Shift, hago clic en la línea 15.
Esperaría ver seleccionadas las líneas 10 a 15, pero en lugar de eso se selecciona desde la línea 1 hasta la 15.
Al ver eso decido, además de poner "ListView1.ListItems(10).Selected = True", agregar "Set ListView1.SelectedItem = ListView1.ListItems(10)" y envíar al evento ItemClick el Item 10 (¡da asco la redundancia!).
Luego, presionando Shift, hago clic en la línea 15.
Sucede exactamente lo mismo que antes.
El objetivo de esto es que yo pueda seleccionar por código una serie de líneas (consecutivas) y luego presionar Shift y hacer clic en una línea posterior para ampliar la selección.
¿Qué estoy haciendo mal?
Muchas gracias.

Jerónimo

Bazooka

  • Terabyte
  • *****
  • Mensajes: 951
  • Reputación: +31/-20
  • El pibe Bazooka
    • Ver Perfil
    • Desof sistemas
Re:Listview: selección múltiple
« Respuesta #1 en: Julio 01, 2013, 09:48:41 pm »
Establece la propiedad Chek a True y luego recorres todos los items que estan seleccionados
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 402
  • Reputación: +33/-2
    • Ver Perfil
Re:Listview: selección múltiple
« Respuesta #2 en: Julio 01, 2013, 11:01:32 pm »
Lo probé, pero no cambia nada, es decir, cuando selecciono la línea 15 (siguiendo con el ejemplo del primer post), pasa lo mismo. Incluso, si el clic lo hago sobre la casilla de verificación hace lo mismo.
¡Muchas gracias, Bazooka!
¿Es que estoy haciendo algo mal, o que no se puede hacer lo que necesito?

Jerónimo

Waldo

  • Gigabyte
  • ****
  • Mensajes: 264
  • Reputación: +22/-0
    • Ver Perfil
Re:Listview: selección múltiple
« Respuesta #3 en: Julio 02, 2013, 09:43:27 am »
Claro, lo estas haciendo mal, como en cualquier listado de windows, al tener shit apretado selecciona desde el primero, al ultimo, lo que vos necesitas es tener el CTRL apretado, y ahi si podes selecccionar a gusto las filas que vos quieras

Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 402
  • Reputación: +33/-2
    • Ver Perfil
Re:Listview: selección múltiple
« Respuesta #4 en: Julio 02, 2013, 09:57:07 am »
Waldo: está claro el funcionamiento de las teclas Shift y Control. Lo que sucede es que si yo por código selecciono la línea 10 y luego presiono Shift y hago clic en la fila 15, se seleccionan desde la fila 1 hasta la 15. Y lo que necesito es que se seleccionen desde la 10 hasta la 15.
Si en lugar de seleccionar la línea 10 por código lo hago con el mouse, luego, al presionar Shift y hacer clic en la fila 15 se seleccionan de la 10 a la 15. Eso es lo que quiero conseguir, pero sin tener que seleccionar la 10 con el mouse sino poder hacerlo por código.
Muchas gracias.

Jerónimo

Waldo

  • Gigabyte
  • ****
  • Mensajes: 264
  • Reputación: +22/-0
    • Ver Perfil
Re:Listview: selección múltiple
« Respuesta #5 en: Julio 02, 2013, 02:57:38 pm »
Ah... perdon habia entendido mal

wolf_kof

  • Visitante
Re:Listview: selección múltiple
« Respuesta #6 en: Julio 02, 2013, 08:50:16 pm »
primero y antes que nada por la propiedad de selección multiple del listview en true o multiselect para que puedas seleccionar varios elementos al mismo tiempo y despues has lo que te dijeron con la propiedad check en true y con un bucle

'Todos los Index comiensan de 0
n = 14
for n to 10
      listview1.item(n).checked = true
next

Listo!!!

Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 402
  • Reputación: +33/-2
    • Ver Perfil
Re:Listview: selección múltiple
« Respuesta #7 en: Julio 04, 2013, 11:45:17 am »
Algo como lo que proponés podría funcionar. El tema es que por una cuestión casi estética no deben figurar las casillas de verificación. Pensé que era algo que yo estaba haciendo mal y se podía conseguir lo que buscaba.
Por el momento inhabilité la función de Shift para que no se pueda seleccionar con esa tecla (sí se pude con Control).
Muchas gracias.

Jerónimo