设置datasource属性时候
Active = true
filter = 'XXXXX'
此时,再设置filter = true时,提示出错,说是属性值冲突在更换设置次序,发现
Active = true
filter 不为空
filter = true
这三个属性是冲突的。请问这是为什么?

解决方案 »

  1.   

    请说明白是哪个控件的datasource属性。
      

  2.   

    我试了一下,在一个窗体添加了一个tadoquery,一个tdatasource,一个tdbgrid,datasource的dataset属性设为adoquery1,dbgrid1的datasource属性设为datasource1,然后把adoquery1的active设为true,filtered设为true,filter属性为id>1
    运行时一切正常,没有发现你所说的情况。
      

  3.   

    设置ADOQUERY的属性之前要确保他的ACTIVE属性为FALSE,等设置完毕后才能将ACTIVE置为TRUE。也就是说该ADOQUERY的属性前要将ACTIVE变为FALSE,改完后再变为TRUE;
      

  4.   

    我将active设为true再改filtered和filter属性没有出现问题
      

  5.   

    与DataSource没有什么关系,筛选(Filter)使用方法有问题。筛选的设置步骤是:
    Filtered := False;
    Filter := 'XXXXX';
    Filtered := True;
    这是改变筛选条件必须的三行代码。
      

  6.   

    谢谢!
    我用的是ADOTable.
    其中有几个ADOTable在设置的时候是没有问题的,
    但是有几个ADOTable却出现了这样的问题。
    比较了他们的其他属性值,设置的好像没有什么不同,所以觉得很奇怪。
    这个会跟数据库的表有关吗?