標準DataGridView
があり、最後の列はDataGridViewComboBoxColumn
. イベントを追加して、その列のいずれかの行の選択されたインデックスが変更されたときにイベントがトリガーされ、そのデータを db に保存したいと思います。
私はこれに1時間ほど苦労していますが、これをトリガーするイベントを見つけることができませんでした...
どんな助けでも大歓迎です!!!
標準DataGridView
があり、最後の列はDataGridViewComboBoxColumn
. イベントを追加して、その列のいずれかの行の選択されたインデックスが変更されたときにイベントがトリガーされ、そのデータを db に保存したいと思います。
私はこれに1時間ほど苦労していますが、これをトリガーするイベントを見つけることができませんでした...
どんな助けでも大歓迎です!!!
メソッドをコンボボックスイベントにアタッチEditingControlShowing
する場合。DataGridView
SelectedIndexChanged
例えば:
private void DGV_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (DGV.CurrentCell.ColumnIndex == comboColumnIndex && e.Control is ComboBox)
{
ComboBox comboBox = e.Control as ComboBox;
comboBox.SelectedIndexChanged += LastColumnComboSelectionChanged;
}
}
以下のメソッドでは、好きなことを何でもできます。
private void LastColumnComboSelectionChanged(object sender, EventArgs e)
{
// Do saving work here
}
これらの行で何かを試すことができますコンボボックスは編集コントロールなので、
private void dg_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (dg.CurrentCell.ColumnIndex == [yourcolumnindex])
{
ComboBox cmbox = e.Control as ComboBox;
cmbox.SelectedValueChanged -= new EventHandler(cmbox_SelectedValueChanged);
cmbox.SelectedValueChanged += new EventHandler(cmbox_SelectedValueChanged);
}
}
その場合、あなたは自分のことをすることができますが、インデックスを変更するたびにデータベースにアクセスする必要がありますか?