如何将数组值放入C#中listview中的特定列?

时间:2015-05-29 20:05:22

标签: c# listview

我创建了一个两个列表视图列' 示例'和' 数量'在设计视图模式下。现在,我想将数组数据添加到 mysample到' Sample' 列,将 myquantity添加到' 列。但我不知道如何具体应该将数据列到哪一列。请帮忙。这是我的代码 -

str[] mysample = somedata;
str[] myquantity = somedata;

for (int i = 0,  i < mysample; i++)
    {
      ListViewItems item1 = new ListViewItem();
      item1.Subitems.Add(mysample[i].ToString());
      listview1.Items.add(item1);

      ListViewItems item2 = new ListViewItem();
      item1.Subitems.Add(myquantity[i].ToString());
      listview1.Items.add(item2);

     }

2 个答案:

答案 0 :(得分:3)

每行只需要一个ListViewItem

string[] mysample = { "Sample A", "Sample B", "Sample C"};
string[] myquantity = { "1", "2", "3"};

for (int i = 0; i < mysample.Length; i++)
{
    string[] subitems = new string[] { mysample[i], myquantity[i] };
    ListViewItem item = new ListViewItem(subitems);
    listView1.Items.Add(item);
}

另请注意,要显示列,您应将View设置为Details

ListBox View property set to Details

答案 1 :(得分:1)

首先确保列表视图的视图属性设置为详细信息,否则列将不会显示。

您可以在属性窗口中或以编程方式执行此操作

listView1.View = View.Details;

然后,您可以将数据传递到ListViewItem Class&#39;之一,从而将数据添加到多个列中。初始化程序作为数组重载(具有所需的序列)并将其添加到ListView的项目

listView1.Items.Add(new ListViewItem(new[] {"column 1" , "column 2", ... }));

顺便说一句,你的代码看起来像是这样:

listView1.View = View.Details;
            String[] mySample =
            {
                "item 1",
                "item 2",
                "item 3"
            };
            String[] myQuantity =
            {
                "1",
                "2",
                "3"
            };
            for (var i = 0; i < mySample.Count(); i++)
            {
                listView1.Items.Add(new ListViewItem(new[] {mySample[i],myQuantity[i]}));
            }

也是一条建议,停止使用WindowsForms和学习WPF;)