Más ListView

06/09/2004 - 11:35 por Luis Argaza | Informe spam
¿Es posible añadir un array de strings de alguna manera
más rápida que uno a uno? Tengo una colección con 55000
elementos y añadirlos uno a uno es tremendamente lento.

Otra cosa ¿Se puede cambiar el color de los elementos
seleccionados en un listview?

Muchas gracias

Preguntas similare

Leer las respuestas

#1 Alejandro Perez
06/09/2004 - 15:01 | Informe spam
Como estas Luis.

Lamentablemente no existe forma, o no que yo conozca para
agregar directamente un arreglo de strings a un listview.
El problema radica en que necesitas un ListViewItem para
cada string. Por lo que vas a tener que recorrerlo.

Los unicos metodos de pudieras utilizar para agregar items
son Add y AddRange, donde AddRange te permite agregar un
arreglo pero de ListViewItem.

Uno de los constructores de ListViewItem te permite
agregar un arreglo de strings pero para la coleccion de
SubItems que es mostrada solo en la vista detalles y
siempre y cuando tengas tantas columnas como subitems.

Aqui te dejo un ejemplo:

ColumnHeader columnHeader1 = new
System.Windows.Forms.ColumnHeader();
ColumnHeader columnHeader2 = new
System.Windows.Forms.ColumnHeader();
listView1.Columns.AddRange(new
System.Windows.Forms.ColumnHeader[]
{columnHeader1,columnHeader2});

string[] strItems = new string[]{"SubItem1", "SubItem2"};
ListViewItem item = new ListViewItem(strItems);
listView1.Items.Add(item);

listView1.View=View.Details;

Con respecto a los colores de los items seleccionados me
parece que pudieras hacerlo con el evento OnPaint,
OnPaintBackground o OnItemDrag.

Suerte...
Alejandro Perez
MCSD/MCDBA/MCT
Caracas - Venezuela



¿Es posible añadir un array de strings de alguna manera
más rápida que uno a uno? Tengo una colección con 55000
elementos y añadirlos uno a uno es tremendamente lento.

Otra cosa ¿Se puede cambiar el color de los elementos
seleccionados en un listview?

Muchas gracias
.

Respuesta Responder a este mensaje
#2 Luis Argaza
07/09/2004 - 10:44 | Informe spam
Hola, Alejandro,

Ya me imaginaba que no sería posible, pero tenía que
intentarlo ;-). Una pena, porque el recorrer 55000
resgistros me enlentece el inicio del formulario; primero
los tiene que leer de la base de datos, y luego añadirlos
al listview, pero que se le va a hacer.

Lo de los colores, arreglado.

Muchas gracias,

Luis

Como estas Luis.

Lamentablemente no existe forma, o no que yo conozca para
agregar directamente un arreglo de strings a un listview.
El problema radica en que necesitas un ListViewItem para
cada string. Por lo que vas a tener que recorrerlo.

Los unicos metodos de pudieras utilizar para agregar


items
son Add y AddRange, donde AddRange te permite agregar un
arreglo pero de ListViewItem.

Uno de los constructores de ListViewItem te permite
agregar un arreglo de strings pero para la coleccion de
SubItems que es mostrada solo en la vista detalles y
siempre y cuando tengas tantas columnas como subitems.

Aqui te dejo un ejemplo:

ColumnHeader columnHeader1 = new
System.Windows.Forms.ColumnHeader();
ColumnHeader columnHeader2 = new
System.Windows.Forms.ColumnHeader();
listView1.Columns.AddRange(new
System.Windows.Forms.ColumnHeader[]
{columnHeader1,columnHeader2});

string[] strItems = new string[]{"SubItem1", "SubItem2"};
ListViewItem item = new ListViewItem(strItems);
listView1.Items.Add(item);

listView1.View=View.Details;

Con respecto a los colores de los items seleccionados me
parece que pudieras hacerlo con el evento OnPaint,
OnPaintBackground o OnItemDrag.

Suerte...
Alejandro Perez
MCSD/MCDBA/MCT
Caracas - Venezuela



¿Es posible añadir un array de strings de alguna manera
más rápida que uno a uno? Tengo una colección con 55000
elementos y añadirlos uno a uno es tremendamente lento.

Otra cosa ¿Se puede cambiar el color de los elementos
seleccionados en un listview?

Muchas gracias
.



.

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