2014-06-14 177 views
0

我試圖將大量的數據加載到listView。下面的代碼正在工作,但我想創建一個列表視圖項目的數組,然後將此數組添加到我的列表視圖。有沒有人可以告訴我該怎麼做?使用數組填充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] }) 
     ); 
    } 
} 
+0

什麼是「問題」? – user2864740

回答

1

除非你的手之前有多少行是在您的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

+0

不錯!謝謝 – user3364397