c# datagridview 单个Cell Enter或者Leave事件如何实现?

时间:2021-05-10 14:46:17

c# datagridview 单个Cell Enter或者Leave事件如何实现?


如上图,我想要的效果是这样的,在每一行第一栏都是物料代码,输入物料代码以后,回车,或者光标离开这个位置,就会自动调用SQL查询后带出后面的品名和规格,这里如何写事件?是用CellEnter或者CellLeave事件?或者有其他事件?
    然后,在第四栏输入物料价格后,根据一定的公式,自动带出后面的长度宽度等,这里的事件又怎么写?
    这里面会有很多行数据,每一行都可能这样写,如何实现?

    另外,在Cell栏里回车后判断数据有误,要清空此栏并保持鼠标仍然在此栏里,代码如何实现?

4 个解决方案

#1


1:CellLeave 事件中
2:CellValueChanged 中 根据公式计算出数据,赋值给当前Row的不同Cell
3:CellValidating 验证单元格数据,非法 使用e.Cancel = true;

#2


引用 1 楼 duanzi_peng 的回复:
1:CellLeave 事件中
2:CellValueChanged 中 根据公式计算出数据,赋值给当前Row的不同Cell
3:CellValidating 验证单元格数据,非法 使用e.Cancel = true;



《1:CellLeave 事件中》,这句是什么意思?
CellLeave事件时灵时不灵,有时光标离开了或者直接回车后根本就没有反应,但当我用断点调试的时候又可以进入。

#3


建议用CellValueChanged事件

#4


已经用CellLeave搞定。结帖,收工。

#1


1:CellLeave 事件中
2:CellValueChanged 中 根据公式计算出数据,赋值给当前Row的不同Cell
3:CellValidating 验证单元格数据,非法 使用e.Cancel = true;

#2


引用 1 楼 duanzi_peng 的回复:
1:CellLeave 事件中
2:CellValueChanged 中 根据公式计算出数据,赋值给当前Row的不同Cell
3:CellValidating 验证单元格数据,非法 使用e.Cancel = true;



《1:CellLeave 事件中》,这句是什么意思?
CellLeave事件时灵时不灵,有时光标离开了或者直接回车后根本就没有反应,但当我用断点调试的时候又可以进入。

#3


建议用CellValueChanged事件

#4


已经用CellLeave搞定。结帖,收工。