Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winforms C中未激发Datagridview的CellValuePushed事件#_Winforms_C#_Datagridview_Datagridviewcomboboxcell - Fatal编程技术网

Winforms C中未激发Datagridview的CellValuePushed事件#

Winforms C中未激发Datagridview的CellValuePushed事件#,winforms,c#,datagridview,datagridviewcomboboxcell,Winforms,C#,Datagridview,Datagridviewcomboboxcell,我在一个应用程序中使用了DataGridView,该应用程序具有许多ComboBox控件。我转换了组合框,使其可编辑 但是,从那时起,列中的更改不会在基础类对象中更新 在调试代码时,我注意到在组合框单元格中进行更改时,没有调用CellValuePushed()事件处理程序 知道我错过了什么吗 谢谢 我注意到,当我在组合框中输入值时,调用了CellValueRequired()eventhandler 请注意,在屏幕截图中,当我尝试在combox单元格中输入数据时,调用了CellValueRequ

我在一个应用程序中使用了
DataGridView
,该应用程序具有许多
ComboBox
控件。我转换了组合框,使其可编辑

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

在调试代码时,我注意到在
组合框
单元格中进行更改时,没有调用
CellValuePushed()
事件处理程序

知道我错过了什么吗

谢谢

我注意到,当我在
组合框中输入值时,调用了
CellValueRequired()
eventhandler

请注意,在屏幕截图中,当我尝试在combox单元格中输入数据时,调用了
CellValueRequired()
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;
    }
}

你能解释一下你想用Combobox和Datagridview实现什么吗?组合框是否嵌套在Datagridview的顶部?您是否正在尝试使用通过下拉菜单设置的单元格创建Datagridview?一个完整的sc网格也会有帮助。我能够使用组合框selectindexchanged事件处理程序解决这个问题。当值更改时,我将用新值填充datagridview