如何将DataGridViewComboBoxColumn绑定到OnChange事件(C#)

时间:2011-01-28 10:30:04

标签: c# events datagridview datagridviewcombobox

我有一个标准DataGridView,我的最后一列是DataGridViewComboBoxColumn。 我想添加一个事件,以便当该列中任何行的选定索引发生更改时,会触发一个事件并将该数据保存到db。

我在这个问题上挣扎了一个小时左右,找不到任何会引发这种情况的事件......

任何帮助将不胜感激!!!

2 个答案:

答案 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);
  }
}

现在,在那个活动中你可以做你的事情 但是,对于每个索引更改,您是否需要访问数据库?