本帖最后由 okmnji79513 于 2010-06-05 21:24:27 编辑

解决方案 »

  1.   

    ClientDataSet1.DisableControls;  //不想乱跳用这个
    ClientDataSet1.EnableControls;   //想它跳的时候用这个
      

  2.   

    这样在 EnableControls 之前 ,滚动条 都失效了啊。感觉 效果不好啊。而且: 假设 DisableControls 之前 ClientDataSet1.RecNo值为 X,经过一些操作,ClientDataSet1.RecNo值 变为 Y,此时再 EnableControls ,则DBGrid的指针 直接从 X行 跳到 Y行 上。也会跳。
      

  3.   

    可以记录下X,EnableControls之前把Y恢复为X
      

  4.   

    DBGrid就是设计用来尽量自动关联DB(数据集DataSet)和Grid(列表)的,换用StringGrid是否可行?
      

  5.   

    除了这种 就没 别的了吗?ClientDataSet1.Next; 是如何通知 DNGrid 移到下一行的?
      

  6.   

    StringGrid 删除行 慢啊。据说 ClientDataSet + DBGrid 快啊,就是因为这个才用这个组合的啊。
      

  7.   

    数据变动前记录下RecNo。数据变动后再直接指向RecNo。