gpt4 book ai didi

c# - 动态修改时未更新 Datagridview 单元格值

转载 作者:太空狗 更新时间:2023-10-29 22:24:15 25 4
gpt4 key购买 nike

基于设计需求,datagridview不能直接被用户编辑。它处于只读模式。当用户双击单元格时,datagridview 的只读属性变为 false,单元格接受键盘输入。但是,原始键盘输入在进入单元格之前需要进行格式化。因此,我按如下方式拦截 KeyPress 事件:

private void dgw_keyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}

此时单元格处于编辑模式和脏模式。然后我用不同的方法更新 Value 属性并调用 dgw.Refresh(),它应该在单元格上显示更新后的值。但它不会。它只会在当前单元格不脏且不处于编辑模式时更新。如何在单元格仍处于编辑模式时强制其显示更新后的值?

有什么想法吗?

最佳答案

使用下方刷新当前单元格的值,更改以适合您的 EditingControl 类型

if (dgvMain.EditingControl is TextBox)
{
dgvMain.EditingControl.Text = dgvMain.CurrentCell.Value.ToString();
}

另一种方法:

Call this method to force a cell to update its display value in edit mode. This is useful when an external process modifies the cell value and you want to notify the user of the change, even when a user-specified change is lost as a result.details

dgvMain.RefreshEdit();

关于c# - 动态修改时未更新 Datagridview 单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5959368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com