请问在DBGridEh中用鼠标或键盘方向键在记录之间移动光标时发生什么事件?我想让主表中的光标移动时计算从表中的一些字段值,不知道在哪个事件里写代码??

解决方案 »

  1.   

    请问在DBGridEh中用鼠标或键盘方向键在记录之间移动光标时发生什么事件?我想让主表中的光标移动时计算从表中的一些字段值,不知道在哪个事件里写代码??
    在主表里有一个计算字段:AB,当记录指针发生移动时把AB字段的值写到一变量中:
    Var AC:Double;
    begin
      AC:=ADOQuery.FieldByName('AB').asfloat;
    end;   在从表中也有一个计算字段:MN, MN的字段值由从表中的另一字段XY和主表中的AB字段值相减得到.在从表的CaluField事件中写入以下代码:
      dataset.FieldByName('AB').ascurrency:=dataset.FieldByName('XY').ascurrency - AC;问题是主表的光标移动时,这里的AC得到的值为何是主表中前一条记录的AB值?
      

  2.   

    adoQuery控件的AfterScroll事件中写就可以了!
      

  3.   

    如果要用方向键实现计算,可以在OnKeyDown里面写计算代码,比如按下向下方向键时
    if (ord(Key) = VK_DOWN) then
    beginend