首页 > 解决方案 > 如何获取 dataGridView 中每一行的第一列的所有值?

问题描述

我有一个如下所示的 DataGridView。

在此处输入图像描述

我需要获取每一行的 ID 值并在每个循环中对其执行操作。如果我选择特定行,我可以获得 ID 值。但是,我要做的基本上是以编程方式选择所有行并在我的 for 循环的每个计数中获取 ID 值。

理想情况下,我会在第一次迭代中得到 2645,在第二次迭代中得到 1723,依此类推。

到目前为止我尝试的是:

if (dataGridView1.SelectedCells.Count > 0)
{
    int selectedrowindex = dataGridView1.SelectedCells[0].RowIndex;
    DataGridViewRow selectedRow = dataGridView1.Rows[selectedrowindex];
    string IDStr = Convert.ToString(selectedRow.Cells["ID"].Value);               

    //an operation with the ID Value               
}

这仅适用于单行,当我手动选择行时。对于 DataGridView 中的每一行,我尝试在其中添加dataGridView1.SelectAll()和循环foreach(DataGridViewRow row in dataGridView1.SelectedCells)并执行上述所有步骤,但这也不起作用。

我在这里做错了什么?任何想法/帮助将不胜感激。我很高兴澄清问题中是否有任何信息不清楚。

标签: c#winformsdatagridviewdatagridviewcolumn

解决方案


尚未测试此代码,但类似的东西应该可以工作

if (dataGridView1.SelectedCells.Count > 0)
{
    foreach (GridViewRow row in dataGridView1.Rows)
    {
        int id = row[0].text;
    }
}

放一个断点,看看它是否得到了id,希望这会有所帮助


推荐阅读