c# - 如何获取 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)
并执行上述所有步骤,但这也不起作用。
我在这里做错了什么?任何想法/帮助将不胜感激。我很高兴澄清问题中是否有任何信息不清楚。
解决方案
尚未测试此代码,但类似的东西应该可以工作
if (dataGridView1.SelectedCells.Count > 0)
{
foreach (GridViewRow row in dataGridView1.Rows)
{
int id = row[0].text;
}
}
放一个断点,看看它是否得到了id,希望这会有所帮助
推荐阅读
- android - 通过唯一标签获取多个相同片段(容器)的值到活动
- javascript - 按钮上的 Javascript EventListener 不起作用
- ios - 与 Alamofire 一起使用时未调用 cellForRowAtIndexPath
- html - HTML/CSS:在模态框顶部以半圆形显示图像
- visual-studio - 在全屏 Visual Studio 的菜单栏中显示解决方案名称
- prestashop-1.6 - 安装我在 prestashop 1.6 中创建的模块时覆盖 my-account.tpl 模板文件,
- ide - WebStorm 中的 Hyperapp 代码智能
- wpf - 是否可以强制窗口的大小永远不会低于其子项所需的大小?
- sql-server - SQL SERVER - 通过 SQLCMD 和 MSSQL 运行 SQL 脚本时相同的代码不同的结果
- wix - Wix Installer:有没有办法让控件重叠?