0

DataGridView在一个带有多个控件的ComboBox我将其转换为ComboBox可编辑。

但是,从那时起,列中的更改不会在基础类对象中更新。

当我调试代码时,我注意到CellValuePushed()在单元格中进行更改时未调用事件处理程序ComboBox

知道我缺少什么吗?

谢谢

我注意到,当我在 中输入值时ComboBoxCellValueNeeded()正在调用事件处理程序。

请注意,在屏幕截图中,当我尝试在组合框单元格中输入数据时,CellValueNeeded()会调用 eventhandler

在此处输入图像描述

更新 :

private void UserDataTable_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
    if ((UserDataTable.CurrentCell.ColumnIndex == 4) ||
                (UserDataTable.CurrentCell.ColumnIndex == 6) ||
                (UserDataTable.CurrentCell.ColumnIndex == 8) ||
                (UserDataTable.CurrentCell.ColumnIndex == 11))
    {
        ComboBox combo = e.Control as ComboBox;    
        combo.DropDownStyle = ComboBoxStyle.DropDown;    
        if (combo == null)
            return;    
    }
}

private void UserDataTable_CellValuePushed(object sender, DataGridViewCellValueEventArgs e)
{
    IntVector temp1 = this.UserData[e.RowIndex];
    switch (e.ColumnIndex)
    {
        case 0: temp1.DeleteMember = (bool)e.Value;
            break;
        case 1:
            temp1.Date1  = Convert.ToDateTime(e.Value).ToString("dd-MM-yy");
            break;
        case 2:
            temp1.CaseNo = Convert.ToString(e.Value);
            break;
        case 3:
            break;
    }
}
4

0 回答 0