Есть ListView в режиме VirtualMode=true количество строк порядка 20000
Если количество колонок небольшое все работает прекрасно, но как колонок становится порядка 100 начинаются жуткие тормоза.
Что сделать чтобы не задавать колонки следующим способом
private void GoodsList_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)
{
ListViewItem item = new ListViewItem(arrGoods[e.ItemIndex,0]);
item.SubItems.Add(arrGoods[e.ItemIndex, 1]);
item.SubItems.Add(arrGoods[e.ItemIndex, 2]);
item.SubItems.Add(arrGoods[e.ItemIndex, 3]);
int dt_index = 1;
for (DateTime dt = (DateTime)arrPeriod[0]; dt < (DateTime)arrPeriod[1]; dt = dt.AddDays(1))
{
item.SubItems.Add(arrGoods[e.ItemIndex, 3 + dt_index]); ;
dt_index++;
}
e.Item = item;
}
12.01.11 11:34: Перенесено модератором из '.NET' — TK
Здравствуйте, Binary, Вы писали:
B>Что сделать чтобы не задавать колонки следующим способом
Можно попробовать
ListViewItem.ListViewSubItemCollection.AddRange
Adds an array of subitems to the collection.
Может, и будет быстрее.