呵呵,是前面问过的问题。不过没有朋友回答,只能抛高分了。因为确实比较急。大家不会不知道我在问什么吧?用Delphi的DBGrideh,和Access数据库有一个表1表1内容字段1(字符)  字段2(逻辑)
 a                 F
 b                 F
 c                 T
 d                 F大家都知道在DBGrideh中逻辑型可以用类似Checkbox的形式出现,现在暂时用“T”和“F”代表Checkbox的“打勾”和“空白框”。在数据库中字段2是全部默认为False,即“F(空白框)”,现在我希望得到一个功能,就是只要在字段2中,用鼠标在某一行中“打勾(T)”后,则光标立刻自动移到下一行,或者立刻触发一下键盘方向键的“下”按钮。(反正两者的达到的效果一样)希望各位高人赐教一下。

解决方案 »

  1.   

    在數據集的change事件寫dataset.next行不行?
      

  2.   

    加入你字段2对应的是DBGridEhColumns1,则在DBGridEhColumns1的DropDownBoxCheckButton事件中用下列代码就可以实现你要的功能,ADOQuery用与指向表1,你试试看行不行:
    procedure TForm.DBGridEhColumns1DropDownBoxCheckButton(
      Sender: TObject; ACol: Integer; Column: TColumnEh; var Enabled: Boolean);
    var
      i: Integer;
    begin
      if DBGridEh.SelectedIndex=i then
      begin
        ADOQuery.Next;
        DBGridEh.SelectedIndex := i+1;
      end;
    end;
      

  3.   

    huangheng1983(绿茶) 的方法效
    这样肯定可以(测试通过)
    同样将字段加入DBGridEh,然后
    procedure TForm1.DBGridEh1Columns1UpdateData(Sender: TObject;
      var Text: String; var Value: Variant; var UseText, Handled: Boolean);
    begin
    PostMessage(DBGridEh1.Handle, WM_KEYDOWN, VK_DOWN, 0);
    end;
      

  4.   

    在DBGridEh中移动光标是会触发保存事件。