从数组填充ListView

本文关键字:ListView 填充 数组 | 更新日期: 2023-09-27 18:14:36

我试图用2D数组中的项目填充ListView。数组应该是这样的:

数据:

john,doe,jd@test.com,555-123-4567,test
jane,doe,janed@test.com,555-123-4568,test2
test,testing,tt@test.com,555-123-4569,test3

等。

我使用的代码是:

for (int row = 0; row < data.Length; row++)
{
   var item = new ListViewItem();
   item.Text = data[row][0];
   for (int col = 1; col < data[row].Length; col++)
   {
      item.SubItems.Add(data[row][col]);
   }
   ContactsList.Items.Add(item);
}

然而,当我运行代码时,它最终只拉第一列并将其添加到相同的ListViewItem并仅显示该单行。所以对于上面的数据,它会给我:

john jane test

,没有别的了。

谢谢你提供的任何帮助。

编辑1:这里是联系人列表代码
this.ContactsList = new System.Windows.Forms.ListView();
...
this.ContactsList.AccessibleDescription = "Contacts List";
this.ContactsList.AccessibleName = "ContactsList";
this.ContactsList.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
   this.FirstName,
   this.LastName,
   this.Email,
   this.PhoneNumber,
   this.Note});
this.ContactsList.Location = new System.Drawing.Point(12, 38);
this.ContactsList.Name = "ContactsList";
this.ContactsList.Size = new System.Drawing.Size(976, 574);
this.ContactsList.TabIndex = 8;
this.ContactsList.UseCompatibleStateImageBehavior = false;
this.ContactsList.SelectedIndexChanged +=
   new System.EventHandler(this.ContactsList_SelectedIndexChanged);

这段代码是由设计师生成的,作为c#的初级程序员,我不确定我是否错过了什么。

从数组填充ListView

所以在摆弄了一会儿之后,我找到了答案!

listview的视图需要设置为detailed。

对于新手的问题,我很抱歉,希望这对其他人有帮助。