我有一个标准DataGridView
,我的最后一列是DataGridViewComboBoxColumn
。
我想添加一个事件,以便当该列中任何行的选定索引发生更改时,会触发一个事件并将该数据保存到db。
我在这个问题上挣扎了一个小时左右,找不到任何会引发这种情况的事件......
任何帮助将不胜感激!!!
答案 0 :(得分:6)
在EditingControlShowing
的{{1}}事件中,将方法附加到组合框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;
}
}
答案 1 :(得分:2)
您可以尝试这些方面的内容 组合框是一个编辑控件,所以
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);
}
}
现在,在那个活动中你可以做你的事情 但是,对于每个索引更改,您是否需要访问数据库?