Как добавить подэлементы из ListBox в ListView? - PullRequest
0 голосов
/ 21 октября 2019

Каждый элемент в списке разделен запятой. Разделив каждую строку списка, я могу добавить только последние элементы (например, 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 голосов
/ 22 октября 2019

Чтобы использовать ListView , вы должны установить для его свойства Вид значение Подробности и добавьте Столбцы , чтобы отобразить каждый элемент строки после выполнения разбиения. Вы не можете использовать свой код, так как разделение возвращает неравные строковые массивы. Вместо этого Вы можете сделать:

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);
}

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...