当 DBgridEH 允许多选时,可以通过拖动鼠标去选择多行,或者通过按下 Ctrl 或 Shift 键去选择多行。问题是,如果不用鼠标和键盘呢??如何直接用程序来控制?

解决方案 »

  1.   

    只解决了一半。 郁闷ing。
    用下面这个方法可以实现:
    DBGridEh1.SelectedRows.CurrentRowSelected := True;但我的程序是跨进程的, 在目标进程中挂了一个DLL,该DLL通过句柄获取到DBGridEH对象,然后找到Dataset,再遍历,将符合条件的记录集选中,问题就出在这里,当跨进程调用该属性的时候就会出错。
      

  2.   

    估计我用的dbgrideh控件 和 目标进程的 dbgrideh 控件版本不一致,不知道谁有办法可以获取到 dbgrideh 的版本号
      

  3.   

    试试不直接调用它的方法,包装一下,用另一个函数返回DLL支持的类型就可以了。
      

  4.   

    没有完全解决。我的dll插入到目标进程之后,可以调用目标进程中DBgridEH控件的 很多方法属性,如next、prior、edit、post。但调用 SelectedRows.CurrentRowSelected := True 时就会出错。
    提示“不正确的指针操作”。