查看列表视图中的每个子项

本文关键字:列表 视图 | 更新日期: 2023-09-27 18:08:53

我希望能够遍历每个ListViews子项并从中获取值。我尝试过各种各样的事情,但我发现很难从第二列得到子项文本,而不是从第一列得到项目文本。谢谢。

foreach (ListViewItem itemRow in listView1.Items)
{             
    for (int i = 0; i < itemRow.SubItems.Count; i++) 
    {
        string dueDate = itemRow.SubItems[i].Text;
        MessageBox.Show(dueDate);
    }
}

查看列表视图中的每个子项

经过大量的尝试和错误之后,我设法用下面的代码做到了:

for (int i = 0; i < listView1.Items.Count; i++)
{
    int ii = 1;
    MessageBox.Show(listView1.Items[i].SubItems[ii].Text);
    ii++;
}

检查此代码:

foreach (ListViewItem itemRow in this.loggerlistView.Items)
{            
    for (int i = 0; i < itemRow.SubItems.Count; i++)
    {
        yield return itemRow.SubItems[i]);
    }
}

也检查msdn

希望我的回答对你有帮助

我假设您想从第一个选中的项中获取子项的值。试试这个:

foreach (ListViewItem.ListViewSubItem a in listView1.SelectedItems[0].SubItems)
    MessageBox.Show(a.Text ); 

如果你想从整个listview或multiselection中获取值,那么你必须使用2 foreach循环。

就这样做:

for (int i = 0; i < usedDatesList.Items.Count; i++)
{
    for (int j = 0; j < usedDatesList.Items[i].SubItems.Count; j++)
    {
        MessageBox.Show(usedDatesList.Items[i].SubItems[j].Text);
    }
}

试试这段代码,它很容易工作:

for(int i = 0; i < listView.Items.Count; i++)
listView.Items[i].Subitems[1].tostring();