2017-06-21 11 views
0

特定のIDを検索するために、VS 2015 Pro(C#)のDataGridViewでforeachループを使用しようとしています。私はDataGridViewRowを使用して表示することができたが、VS2105はそれを持たない例では、DataGridItemはあるが行とは関係がない。 foreach(gvNCAMS.RowsのDataGridItem行)を試したところ、システムはRowからDataGridItemにキャストできません。これにforeachループを使用するにはどうすればよいですか?
私が使用しています:VS 2015 Proのdataviewgridでforeachを使用

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

あなたは、2015年のプロにdatagridviewrowがないと言ったことに気付きました。確かに、正しい名前空間を使用していることを確認してください。私はその例を書くために同じバージョンを使いました。 – thanatorr

+0

私が実際にやろうとしているのは、グリッド内の特定のIDを検索し、その行のフォーカスを設定して、データをデータベースから取り出してフォームの別の部分に移入することです。 DataGridViewRowを取得するには、どのような名前空間を使用する必要がありますか? –

+0

@ donald.dougherty最新の回答をご覧ください。 FYIでは、単一のセルにフォーカスを設定することもできます。 – thanatorr

関連する問題