【发布时间】:2013-12-13 13:47:04
【问题描述】:
我有一个 datagridview,它有一个数据表作为数据源。我需要手动更改一些单元格值。例如,如果单元格输入值包含字符“g”,则当我离开单元格时,它必须自动更改“abc”。以下代码检查当前单元格的格式化值:
private void dgwPNotlar_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (e.ColumnIndex<2||e.ColumnIndex>4||e.FormattedValue.ToString()=="")
{
return;
}
if (e.FormattedValue.ToString().Contains('G')||e.FormattedValue.ToString().Contains('g'))
{
dgwPNotlar.EditMode = DataGridViewEditMode.EditProgrammatically;
dgwPNotlar.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "abc";
dgwPNotlar.EndEdit();
dgwPNotlar.EditMode = DataGridViewEditMode.EditOnEnter;
return;
}
}
当代码“dgwPNotlar.EndEdit();”运行,我更改的单元格值为“abc”,返回之前的值为“g”或“G”..
有什么想法吗?
【问题讨论】:
-
是的。 @LarsTech 答案是最好和最简单的解决方案
标签: c# winforms datagridview