gpt4 book ai didi

c# - 仅当 DataGridView 中的 Cell ValueChanged 时如何运行 Run CellEndEdit

转载 作者:太空狗 更新时间:2023-10-29 22:16:53 27 4
gpt4 key购买 nike

我只想在更改单元格值时运行 CellEndEdit,尝试放置

if (dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() == e.FormattedValue.ToString()) 
return;

在 CellValidation 事件中,Cell Validation 事件确实返回,但 CellEndEdit 也被执行并更新,updated date & by 当用户仅进入编辑模式时字段和在不更改值单元格的情况下出来。
当到达 CellEndEdit 时,CellValueFormatted Value 相同,因此无法将其放入 CellEndEdit。

一个简单的解决方案是在 CellValidation 中设置一个标志,并在设置标志时返回 CellEndEdit,但这似乎是一个容易出错的解决方案,因为表单上大约有 10 个网格。那么 10 个标志?

最佳答案

不要在 CellEndEdit 中执行您的任务,而是将它们放在 CellValueChanged 中。它仅在单元格值更改时触发。请注意,当您的 DataGridViews 最初被填充时它会触发,但要处理它,您可以只放置一个变量说 formInitialized 或其他东西,以确保您在填充数据网格时没有执行 CellEndEdit。

为了回答您的问题,无法确定在触发 CellEndEdit 时值是否更改,因为它总是在单元格退出编辑模式时触发。正如您所建议的那样,唯一的解决方案是在外部存储旧值,但您已经注意到为什么这么糟糕(尽管它在大多数情况下都非常有效)。

关于c# - 仅当 DataGridView 中的 Cell ValueChanged 时如何运行 Run CellEndEdit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8899329/

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