我有listview
,其中根据可用主题的数量动态创建列。当我创建新的ListViewItem
时,它会自动向subitem
添加空白listview
。由于列是动态创建的,因此子项被替换。这就是我做到的。
foreach(int id in stud)
{
ListViewItem gtb = new ListViewItem();
foreach(int sname in subj)
{
gtb.SubItems.Add(value1);
gtb.SubItems.Add(value2);
gtb.SubItems.Add(value3);
}
gtb.SubItems.Add(value4);
listView1.Items.AddRange(new ListViewItem[] { gtb });
}
我知道将value1
添加到新ListViewItem(value1)
会解决这个问题,但我有另一个subitem
,它位于foreach loop
之外。我该如何解决这个问题?
答案 0 :(得分:0)
添加一个'if'语句,用于检查每个值的长度,如果长度大于零,则将项目添加到'gtb'。
答案 1 :(得分:0)
创建String[]
,使用它来收集子项,然后使用以下内容创建新的ListViewItem
:
String[] subItems = new String[subj.Count + 1]; //add however many extras you need in place of 1
for (int j = 0; j < subj.Count; j++)
subItems[j] = subj[j];
//add whatever else to the array you want...
listView1.Items.Add(new ListViewItem(subItems));
答案 2 :(得分:0)
我尝试手动添加一个宽度为0的新列,它可以正常工作。