如何获取DataGridView的下一行的值

时间:2012-05-25 18:25:28

标签: c# datagridview compare row datagridviewrow

如何在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);

        }              
}

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

1 个答案:

答案 0 :(得分: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);

            }              
    }

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