2017-06-21 23 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