我尝试创建收据,问题是如何将ListView
中每行的文字或项目标记为。
这是我试过的
private void button8_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
foreach (ListViewItem itemRow in this.listView1.Items)
{
{
frm2.label1.Text = itemRow.SubItems[0].Text;
frm2.label2.Text = itemRow.SubItems[1].Text;
frm2.label3.Text = itemRow.SubItems[2].Text;
frm2.label4.Text = itemRow.SubItems[3].Text;
frm2.Show();
}
}
}
答案 0 :(得分:1)
您需要在列表中执行两个循环。我已将结果添加到数组中,但您可以使用收集的数据执行任何操作。如果您尝试在某些标签上进行排列,可以使用以下代码。
int x;
foreach (ListViewItem itemRow in this.listView1.Items)
{
x = 1;
switch(x)
{
case 1:
{
for (int i = 0; i < itemRow.SubItems.Count; i++)
{
frm2.label1.Text = itemRow.SubItems[i].Text;
frm2.label2.Text = itemRow.SubItems[i].Text;
frm2.label3.Text = itemRow.SubItems[i].Text;
frm2.label4.Text = itemRow.SubItems[i].Text;
}
}
case 2:
{
for (int i = 0; i < itemRow.SubItems.Count; i++)
{
frm2.label5.Text = itemRow.SubItems[i].Text;
frm2.label6.Text = itemRow.SubItems[i].Text;
frm2.label7.Text = itemRow.SubItems[i].Text;
frm2.label8.Text = itemRow.SubItems[i].Text;
}
}
x++;
}
}
答案 1 :(得分:0)
List<object> myListOfSubItems = new List<object>();
foreach (ListViewItem item in ListView1.Items)
{
myListOfSubItems.AddRange(item.SubItems);
}
答案 2 :(得分:0)
我试过这个并且它有效,但是如果第二行没有项目则会触发错误
frm2.label2.Text = listView1.Items[0].SubItems[1].Text;
frm2.label3.Text = listView1.Items[1].SubItems[0].Text;