Это код для заполнения списка
For i = 0 To ds.Tables(0).Rows.Count - 1
For j = 0 To ds.Tables(0).Columns.Count - 1
itemcoll(j) = ds.Tables(0).Rows(i)(j).ToString()
Next
Dim lvi As New ListViewItem(itemcoll)
myLVstyle.Items.Add(lvi)
Next
Я попытался использовать следующее:
myLVstyle.SuspendLayout()
my code for populating listview
myLVstyle.ResumeLayout()
а также
myLVstyle.BeginUpdate()
my code for populating listview
myLVstyle.EndUpdate()
Я использую mysql для базы данных, и это мой оператор select:
SELECT STYLE_CODE, 'DESC', FAB_CONS, DATE_CREAT, LAST_ORD, QTY_ORD, GRAPHIC, NOTES1, NOTES2, NOTES3 FROM style
Но это не помогает мне ускорить заполнение списка. Спасибо.
Вы должны сохранить:
BeginUpdate
и
EndUpdate
Если это не ускоряет работу, вам следует искать более быстрый SQL-сервер.
Один небольшой тест, который вы можете попробовать, заполняет список с таким же количеством случайных элементов и пропускает его из SQL. Таким образом, вы можете определить, является ли SQL узким местом...
Таким образом, вы получаете что-то вроде;
with myLVstyle
.beginupdate()
for each row as [rowtype] in ds.tables.rows
for each col as [coltype] in row.colums
dim NewLvi as listviewitem = .items.add(col.itemcoll)
next
next
.endupdate()
end with