如何将子项从ListBox添加到ListView?

时间:2019-10-21 17:57:43

标签: c# winforms listview listbox

列表框中的每个项目都以逗号分隔。通过拆分listBox的每一行,我只能添加最后一项(例如STEVEN,D,E,F),而不能将列表框中的其他项添加到ListView

Figure lb1

如何解决?

foreach (string item in listBox2.Items)
{
  ListViewItem li = new ListViewItem();
  var a = item.Split(',');
  li.Text = a[0].Trim();
  li.SubItems.Add(a[1].Trim());
  li.SubItems.Add(a[2].Trim());
  li.SubItems.Add(a[3].Trim());
  listView1.Items.Add(li);
}

1 个答案:

答案 0 :(得分:0)

要以这种方式使用ListView,应将其View属性设置为Details,并添加Columns以在分割后显示每个字符串项。您无法使用代码,因为拆分会返回不相等的字符串数组。相反,您可以这样做:

foreach (string a in ListBox1.Items)
{
    var arr = a.Replace(" ", "").Split(',');

    ListViewItem lvi = new ListViewItem(arr[0]);

    for(int i = 1; i < arr.Length;i++)
    {
        if(i >= ListView1.Columns.Count )
        {
            ListView1.Columns.Add($"Column {i}");
        }
        lvi.SubItems.Add(arr[i]);
    }
    ListView1.Items.Add(lvi);
}

祝你好运。

相关问题