2017-12-30 56 views
1

現在、ユーザーの注文を表示するC#プロジェクトを開発中です。DataGridView内の2つのボタンの処理

今、私はこれに慣れていないので、DataGridView内から2つのボタンにアクセスし、それらに別々の機能を与える方法を教えてください。

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) 
{ 
    if (vHisOrd_BtnDelivered.Selected) 
    { 

    } 
    else if (vOrdHis_Btn.Selected) 
    { 

    } 
} 

のDataGridView画像::私は賢明なコードを持っている

tsfs

+1

クリックハンドラーに渡されるイベント引数は、列のインデックスと行のインデックスを持つことになります。何もボタンがクリックされていないことを確認し、適切な行を操作してください。 –

+0

デバッガで 'sender'と' e'を調べて、どのボタンがイベントを引き起こしたのかを調べる必要があります。 – dperish

+0

ありがとうCaius Jard、それは今働いています:) – user7943

答えて

0

あなたはDataGridViewのにDataGridViewButtonColumnを追加し、cellcontentclickイベントに

使用eを使用することができます.ColumnIndexを実行するコードを決定する

行名の
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) 
{ 
    DataGridView dgv = (DataGridView)sender; 

    if (dgv.Columns[e.ColumnIndex] is DataGridViewButtonColumn && 
     e.RowIndex >= 0) 
    { 
     //TODO - Button Clicked - Execute Code Here 
    } 
} 
+0

実際に問題を解決していませんでしたが、私はそれをどのように解決できるか考えてくれました。ありがとう! – user7943

0

使用columnIndexにするinteads

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) 
{ 
    DataGridView dgv = (DataGridView)sender;

//use index in your gridView if (dgv.Columns[e.ColumnIndex] == 2) { //vHisOrd_BtnDelivered } else if (dgv.Columns[e.ColumnIndex] == 3) { //vOrdHis_Btn }

}

関連する問題