DBGrid和dxDbGrid的问题 (100分)

  • 主题发起人 主题发起人 Moved
  • 开始时间 开始时间
M

Moved

Unregistered / Unconfirmed
GUEST, unregistred user!
请问在DbGrid或dxDbGrid中,当焦点离开某一CELL时产生一个什么事件?

validate也不行啊。用dxGrdDetail.Columns[0].Field.Value它返回的是上次输入的内容啊
我觉得dbGrid在这方面真是一个缺点,像CELL失去焦点事件和获得当前CELL的值都是经常要用
的啊,偏偏就是不给你提供,倒是dbGrid有很多还未用到,不知哪位大哥的此经验的,您们
遇到此种情况是怎么做的?介绍介绍吧,感激不尽啊。
 
各位大虾看一下吧...
 
on selectcell
on drawcell
 
拜托高手讲明白点好吗? 不好意思,我是菜鸟一只啊。selectcell和drawcell在dbGrid或dxDbGrid
中没找着此事件啊,是不是又要自定义啊.
 
[:)][:)][8D][^][8D][8D][8D][8D][:D][:(][:(!]
 
你双击DXGRID。有一个validate的事件。它就是离开此栏时获取的事件
 
validate也不行啊。用dxGrdDetail.Columns[0].Field.Value它返回的是上次输入的内容啊
我觉得dbGrid在这方面真是一个缺点,像CELL失去焦点事件和获得当前CELL的值都是经常要用
的啊,偏偏就是不给你提供,倒是dbGrid有很多还未用到,不知哪位大哥的此经验的,您们
遇到此种情况是怎么做的?介绍介绍吧,感激不尽啊。
 
用 DBGrid 的 OnColExit,某单元格失去焦点时。从下面的说明看,行的变化也会触发
如果行变化不触的话,可以用 相应 Table 中的事件。


Occurs just before a cell in the grid loses input focus.

property OnColExit: TNotifyEvent;

Description

Write an OnColExit event handler to take specific action when a cell is about to lose focus. For example, use OnColExit to post edits to the underlying dataset when the user leaves a cell, rather than waiting for the user to leave the record.

A cell loses focus when

?The user navigates out of the cell using the keyboard. For example, when the user presses the Tab key or the Home key.
?The user clicks the mouse button down in another cell.
?The SelectedField or SelectedIndex property is set.

When the selected cell in the data-aware grid changes, first the OnColExit event occurs. Then the values of SelectedField and SelectedIndex are updated. Finally the OnColEnter event occurs. Thus, in an OnColExit event handler, the SelectedField or SelectedIndex property can be used to determine which column is about to lose focus.
 
其实DELPHI已经做得很好了!

dbgrid.OnColEnter当进入某一列时触发
dbgrid.OnColExit 当离开某一列时触发

用这两个事件完全可以解决你碰到的问题!
 
我曾用过的一种方法是在dxDBGrid的OnEditing事件中用RecordSet检测,或OnChangeNode,
一种直接用Columns中的Column的OnChange/OnGetText,
我想具体问题具体分析吧
 
>>dbgrid.OnColEnter当进入某一列时触发
>>dbgrid.OnColExit 当离开某一列时触发

怎么解决,我焦点在同列中的行与行之间变换呢?
 
jsxjd大虾的意思我懂了,可我感觉那样做不爽啊
jane199991,你所说的OnEditing事件我也在用,但如果你没对某一CELL做EDIT它就不会产生
此事件,与CELL的EXIT还是有差别的,不知你用RecordSet怎么判断的.
 
你可以不在DBGRID中设这个,你在DBGRID所连接的数据集,比方说是ADOQUERY1里设某个字段
的Onvalidate就可以了

OnColExit:是离开时事件
OnColEnter:是得到时事件
不过他们都不好用
 
多人接受答案了。
 
后退
顶部