我DataGridView
在一个带有多个控件的winforms应用程序中。ComboBox
我将其转换为ComboBox
可编辑。
但是,从那时起,列中的更改不会在基础类对象中更新。
当我调试代码时,我注意到CellValuePushed()
在单元格中进行更改时未调用事件处理程序ComboBox
。
知道我缺少什么吗?
谢谢
我注意到,当我在 中输入值时ComboBox
,CellValueNeeded()
正在调用事件处理程序。
请注意,在屏幕截图中,当我尝试在组合框单元格中输入数据时,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;
}
}