【发布时间】:2010-08-04 13:19:16
【问题描述】:
我想在 DataGridViewComboBoxColumn 上处理此事件“SelectedIndexChanged”, 我将它设置在 gridview 的“EditingControlShowing”事件上。
问题: 第一次尝试从组合框中选择项目时不会触发“SelectedIndexChanged”事件,但在第二次选择该项目后会触发该事件并且一切正常!
代码如下:
private void dgvRequest_EditingControlShowing(object sender,
DataGridViewEditingControlShowingEventArgs e)
{
ComboBox combo = e.Control as ComboBox;
if (combo != null)
{
if (dgvRequest.CurrentCell.ColumnIndex == col_ConfirmCmb.Index)
{
combo.SelectedIndexChanged -= combo_ConfirmSelectionChange;
combo.SelectedIndexChanged += combo_ConfirmSelectionChange;
return;
}
}
}
void combo_ConfirmSelectionChange(object sender, EventArgs e)
{
if (dgvRequest.CurrentCell.ColumnIndex != col_ConfirmCmb.Index) return;
ComboBox combo = sender as ComboBox;
if (combo == null) return;
MessageBox.Show(combo.SelectedText);// returns Null for the first time
}
【问题讨论】:
标签: c# .net winforms datagridview