【问题标题】:Foreach Sub Item In ListViewListView 中的 Foreach 子项
【发布时间】:2011-09-16 13:58:17
【问题描述】:

我希望能够遍历我的每个 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);
    }
}

【问题讨论】:

    标签: c# winforms listview


    【解决方案1】:

    经过大量的试验和错误,我设法用这段代码做到了:

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

    【讨论】:

    • 你为什么不在你的for循环的参数中实现ii? ****为便于阅读留出一些空间**** (int i=0, int ii=1; i&lt;listView1.Items.Count;i++,ii++)
    【解决方案2】:

    检查此代码:

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

    同时检查msdn

    希望我的回答对你有所帮助。

    【讨论】:

    • 谢谢,我尝试了你的代码,但我无法编译它,我应该为该方法使用什么返回类型,因为它是 yield return?我尝试了 void 和 static/void 但没有快乐,请帮忙!谢谢!
    • 您可以使用 void 和 static/void 运行它。它在我这边工作得很好,我也得到了子项目的价值。
    【解决方案3】:

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

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

    如果你想从整个列表视图或多选中获取值,那么你必须使用2个foreach循环。

    【讨论】:

      【解决方案4】:

      这样做:

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

      【讨论】:

        【解决方案5】:

        试试这段代码,很简单:

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

        【讨论】:

          猜你喜欢
          • 2021-03-26
          • 2012-01-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-11-18
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多