1

如何在 FOREACH 中获取 DataGridView 下一行的值

foreach (DataGridViewRow row in dataGridViewSelection.Rows)
{
        if ((bool)((DataGridViewCheckBoxCell)row.Cells[3]).Value)
        {
            do
            {
                list.Add(row.Cells[1].Value.ToString());
            } 
            while (row.Cells[2].Value == the next row.Cells[2].Value-->of the next row);

        }              
}

我想获得下一行中相同单元格的值,以便我可以比较它们。谢谢

4

1 回答 1

2

您需要使用for循环而不是foreach,但这很简单,因为DataGridViewRowCollection实现了所需的信息:

    for (int rowNum=0;rowNum<dataGridViewSelection.Rows.Count - 1; ++rowNum)
    {
            DataGridViewRow row = dataGridViewSelection.Rows[rowNum];
            if ((bool)((DataGridViewCheckBoxCell)row.Cells[3]).Value)                    {
                do
                {
                    list.Add(row.Cells[1].Value.ToString());
                } while (row.Cells[2].Value == dataGridViewSelection.Rows[rowNum+1].Cells[2].Value);

            }              
    }

通过索引索引,您可以轻松访问循环中的任何其他行。

于 2012-05-25T18:29:09.157 回答