在dxDBGrid中,如何在程序中通过指定keyfield的值来指定选中行?可以同时指定多行被选中吗

解决方案 »

  1.   

    楼上的,dxDBGrid不会不能指定选中某一行吧
    那我就惨了啊
      

  2.   

    可以实现啊
    直接在数据集中指定不可以吗?
    用query.locate('keyfield','keyfield的值',[]);
      

  3.   

    我试过query.locate了,dxdbgrid里好像不行啊
      

  4.   

    dxDBGrid个人觉得这个控件很不错,功能绝对比DBGrid强出n倍。query.locate只能固定到某一条记录。建议楼主采用一个内部计算字段,指向一个dxCheckBoxColumn,然后给这些行的该字段赋值
      

  5.   

    dbgrideh1.SelectedRows.SetCurrentRowSelected:=True;
      

  6.   

    指针移到某记录,dbgrid就自动移到了。我一般是这样做的。
      

  7.   

    LookFuture(珠海未来) ,能不能贴段代码出来啊
      

  8.   

    这个问题完全只是一个使用问题,没有代码。你可以在你的数据集,如:ClientDataSet1中,添加一个内部计算字段,具体方法点ClientDataSet1右键后,添加Field为Inner Calculated。
    dxDBGrid1设计的checkcolumn列的Field指向这个字段,当然本列的ReadOnly := False,
    这样你选中的时候,只需要给这一列修改值,ClientDataSet.FieldByName('BZ').asinteger := 1;
    这样,可以达到多行和单行选中的效果。至于怎么判断怎么选中,哈哈,我就不用说了:)
      

  9.   

    先对记录排序,后查找,然后
    dbgrideh1.SelectedRows.SetCurrentRowSelected:=True;
    movenext;(直到不合条件的记录,退出)