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
 

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
.

Preguntas similares