使用数组填充ListView
本文关键字:ListView 填充 数组 | 更新日期: 2023-09-27 18:08:33
我试图加载大量的数据到listView。下面的代码是工作,但我想创建列表视图项目的数组,然后将此数组添加到我的列表视图。有人能告诉我怎么做吗?
using (var csv = new CsvReader(new StreamReader(openFileDialog1.FileName), true))
{
int fieldCount = csv.FieldCount;
string[] headers = csv.GetFieldHeaders();
int i = 0;
while (csv.ReadNextRecord())
{
this.listView1.Items.Add(
new ListViewItem(new[] { csv[0], csv[1], csv[2], csv[3], csv[4] })
);
}
}
除非您事先知道csv中有多少行,否则最简单的方法可能是使用列表:
List<ListViewItem> items = new List<ListViewItem>();
while (csv.ReadNextRecord())
items.Add(new ListViewItem(new[] { csv[0], csv[1], csv[2], csv[3], csv[4] }));
ListViewItem[] array = items.ToArray();
this.listView1.Items.AddRange(array);
你已经拥有它的方式应该是足够的。如果你关心渲染速度,你可以把你的代码包装在listView1.BeginUpdate()
和listView1.EndUpdate()
调用中来加速它。
您可以在这里阅读更多信息:http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.beginupdate%28v=vs.110%29.aspx