2017-10-16 7 views
1

私は内容がデータベース(カラム:idPersonpersonName)からバインドDataGridViewのdgPersonsを持ってtxtPersonNameテキストボックスの値に基づいて、datagridviewの特定の行にフォーカスする方法は?

、同じ形で、私はテキストボックスtxtCodePersonを持っている..私はtextboxsesを充填することにより、データベースにデータを追加してbtnSaveをクリックしてください。 。その後、DataGridViewの今

に新しい行が表示されるようにPINDデータを再..私は、私は最近、txtCodePersonから値を取得して追加し、idPersonでその値に等しく選択された行を行セットに集中したいですコラム

コード:最後の行がDataGridViewのため、私がやりたいことはありません選択:

String searchValue = txtCodePerson.Text; 
dgPersons.ClearSelection(); 
int rowIndex = -1; 
foreach (DataGridViewRow row in dgPersons.Rows) 
{ 
if (row.Cells[0].Value.ToString().Equals(searchValue)) 
    { 
    rowIndex = row.Index; 
    break; 
    } 
} 

しかし、それは動作しませんでした...選択した行の行を追加した後、自動的に最初の行に

お知らせを行きますデータは、あなたは、その対応する列の値が指定したテキストに等しいという行を見つけることができ、データ

答えて

1

を結合した後personName列にalphabitcally頼っ。その後、現在の行として設定します。例えば

、あなたはそのidPerson列がtxtCodePersonのテキストに等しいという行を探しているなら、あなたは次のコードを使用することができます。申し訳ありませんが...それは動作しませんでした

var searchValue = txtCodePerson.Text;  
var row = dataGridView1.Rows.Cast<DataGridViewRow>() 
    .Where(x => !x.IsNewRow) 
    .Where(x => ((DataRowView)x.DataBoundItem)["idPerson"].ToString().Equals(searchValue)) 
    .FirstOrDefault(); 
this.dataGridView1.CurrentCell = row.Cells[0]; 
+0

を...フォーカスはまだデータをバインドした後の最初の行に移動します –

+0

コードはテストされ、正しく動作します。それを正しいイベントハンドラに入れて、ブレークポイントを使って問題を見つけようとしてください。誰かがあなたのために回答を投稿したら、きれいな環境で回答をテストする必要があります。 –

+0

それは動作します..ありがとう –

関連する問題