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