2017-06-21 93 views
0

我想在VS 2015 Pro(C#)中使用带有DataGridView的foreach循环来搜索特定的ID。我能够找到使用DataGridViewRow但VS 2105的示例没有,它有DataGridItem,但没有任何与该行有关的示例。当它试图foreach(gvNCAMS.Rows中的DataGridItem行)时,我得到系统无法从Row转换到DataGridItem。我如何使用foreach循环呢?
我使用:在VS 2015中使用foreach在DataViewgrid Pro中

foreach (DataGridViewRow row in gvNCAMS.Rows) { if (row.Cells[4].Equals(iSearch)) { rowIndex = iIndex; break; } } gvNCAMS.SelectedIndex = rowIndex; 

为我的代码来做到这一点。

谢谢。

回答

1

希望这有助于:

foreach (DataGridViewRow item in dataGridView1.Rows) 
    { 
     if(item.Cells["IDColumnName"].Value.ToString() == "something") 
     { 
      dataGridView1.Rows[item.Index].Selected = true; 
     } 
    } 

记住foreach循环不会允许你改变日期,你只能遍历并朗读。

但是,我个人会将datagridview绑定到数据集或数据表,然后在这些数据集中进行更改。我个人认为这是更简洁和更好的代码实践。

您将需要一个DataGridViewRow的命名空间为:using System.Windows.Forms;

如果你用“数据的东西”瞎搞ID说是安全的,包括using System.Data;命名空间还。

+0

刚刚注意到你说的vs 2015 pro没有datagridviewrow。当然,确保您使用的是正确的名称空间。我使用相同的版本来编写该示例。 – thanatorr

+0

我实际上试图做的是在网格中搜索特定的ID并将焦点设置在该行上,以便我可以从数据库中提取数据以填充表单的另一部分。我应该使用什么名称空间来获取DataGridViewRow? –

+0

@ donald.dougherty请参阅最新的答案。仅供参考,您还可以将焦点设置为单个单元格。 – thanatorr

相关问题