0
以下のコードブロックで問題が発生しました。データブロック上の選択された行のデータをテキストボックスにリンクする目的のコードブロックがあります。以下のコードをDatagridviewのコンテンツに追加しました。C#Datagridのテキストボックスへのリンクエラー
ほとんどの場合動作しますが、初めて "name"と "surname"のDataGridでセルをクリックすると、テキストボックスへのデータのリンク/転送が行われません。しかし、 "姓"の後の他の列は非常にうまく機能します。同様に、プログラムが実行されているときに、 "名前"と "姓"の列を2回クリックすると、それは転送/リンクです。
それがどうして起こっているのか、どうすればコードを編集できますか?
おかげでたくさん、ヌリ:
private void dgvEkip_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if(e.RowIndex >= 0)
{
DataGridViewRow row = this.dgvEkip.Rows[e.RowIndex];
txtEkipIsim.Text = row.Cells["Isim"].Value.ToString(); //cell for "name"
txtEkipSoyisim.Text = row.Cells["Soyisim"].Value.ToString(); //cell for "surname"
dtpEkipDogum.Text = row.Cells["DogumTarihi"].Value.ToString();
txtEkipTelefon.Text = row.Cells["Telefon"].Value.ToString();
txtEkipEposta.Text = row.Cells["ePosta"].Value.ToString();
cbEkipSehir.Text = row.Cells["Sehir"].Value.ToString();
txtEkipAdres.Text = row.Cells["Adres"].Value.ToString();
dtpEkipKayitTarihi.Text = row.Cells["KayitTarihi"].Value.ToString();
}
}
はここにもスクリーンショットです。
それを踏んだとき何が起こる? Visual Studioのコンソールウィンドウの値を印刷しようとしましたか(つまり、 'Debug.Print(row.Cells [" Isim "] .Value.ToString())'? –
なぜそうではないのか分かりませんただし、DataGridView.SelectionModeをFullRowSelectに設定し、RowEnterイベントを使用することもできます(DataGridViewの描画後にこのイベントを1回呼び出すことを忘れないでください)。 – Graffito
RowSelected、RowHightlighted、CellFocusedなどの他のイベントを購読しようとします。 – nyconing