相关疑难解决方法(0)

什么事件在DataGridViewCell中的组合框中捕获了值的变化?

我希望ComboBoxDataGridView单元格中更改值时处理该事件 .

CellValueChanged事件,但是在我点击其他地方之前,那个事件才会触发DataGridView.

ComboBox SelectedValueChanged选择新值后,会立即触发一个简单的触发器.

如何将监听器添加到单元格内的组合框中?

.net c# combobox datagridview event-handling

26
推荐指数
3
解决办法
6万
查看次数

Datagridview上的ComboBoxColumn中的"SelectedIndexChanged"事件

我想在DataGridViewComboBoxColumn上处理此事件"SelectedIndexChanged",并将其设置在gridview的"EditingControlShowing"事件中.

问题:第一次尝试从comboBox中选择一个项目时,不会触发"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
}
Run Code Online (Sandbox Code Playgroud)

.net c# datagridview winforms

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

.net ×2

c# ×2

datagridview ×2

combobox ×1

event-handling ×1

winforms ×1