Добавить элементы в определенный столбец ListView в winforms - PullRequest
0 голосов
/ 26 июня 2018

Я создаю приложение WinForms в visual studio 2017,

Я добавляю два столбца в свой ListView,

        ListView1.Columns.Add("Column1", -2, HorizontalAlignment.Left);
        ListView1.Columns.Add("Column2", -2, HorizontalAlignment.Left);

Я зацикливаю список строк, я хотел бы разделить его пополам, где первая половина переходит к столбцу 1, а вторая - к столбцу 2.

        List<String> strings;

Я посмотрел на многие решения онлайн, используя вместо этого подэлементы, я не могу использовать подэлементы, потому что:

  1. Мне нужно, чтобы все элементы были доступны для выбора
  2. Некоторые строки различаются по размеру, поэтому я бы хотел, чтобы столбцы были гибкими, чтобы можно было отображать всю строку
  3. Мне нужно, чтобы все строки были выровнены по левой стороне

Образец того, что должно нравиться

Column1                Column2           
STRING 1               STRING 100002
STRING 10000           STRING 2222
STRING 144             STRING XCEZ
STRING 144             STRING IK?
STRING 144             STRING 5

Кто-нибудь знает, как это сделать? заранее спасибо.

1 Ответ

0 голосов
/ 26 июня 2018

Я не уверен, почему у вас есть List<string>, а не List<MyClass>, у которого MyClass есть два свойства, Property1 и Property2.

В любом случае, что касается вашего вопроса, вы можете использовать цикл for следующим образом:

var list = new List<string> { "1", "2", "3", "4" };
var count = list.Count;
listView1.BeginUpdate();
for (var i = 0; i < count / 2; i++)
    listView1.Items.Add(list[i]).SubItems.Add(list[count / 2 + i]);
listView1.EndUpdate();
...