【问题标题】:How can I get all the values of the 1st column of every single row in a dataGridView?如何获取 dataGridView 中每一行的第一列的所有值?
【发布时间】:2019-07-19 19:47:18
【问题描述】:

我有一个如下所示的 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) 内循环,并执行了上述所有步骤,但这也不起作用。

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

【问题讨论】:

  • 为什么您只对选定的值感兴趣?听起来您想要全部拥有它们?=!。您如何将数据插入 DataGrundView ?建议对源数据进行操作并从那里提取所需的 ID。
  • 是的,底线是拥有整个第一列。选择所有值只是我的方法,因为它适用于单行选择。我从绑定到 datagridview 的 SOAP 请求中得到响应。这就是数据的来源。如果有更简单的方法来获取该列,即没有选择,我也愿意研究。
  • 请准确发布这段代码(绑定)并向我们展示源代码集。但最后我还是建议从源头上选择,而不是徒步穿越DataGridView

标签: c# winforms datagridview datagridviewcolumn


【解决方案1】:

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

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

下一个断点,看看是否获取到id, 希望这会有所帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-23
    • 1970-01-01
    • 1970-01-01
    • 2017-07-21
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多