过滤Form数据源

1、先在form的声明的地方声明变量。
public class FormRun extends ObjectRun
{
  QueryBuildRange criteriaPosted;
}
2、数据源(datasource)对应的表的ini方法。
public void init()
{
  super();
  criteriaPosted=this.query().dataSourceName('YouTable').addRange(fieldNum(YouTable,FieldName));
}
3、数据源的ExecuteQuery方法下。
public void executeQuery()
{
  criteriaPosted.value(queryValue(Noyes::No));
  super();//注意,父类的方法要后执行.
}
4、可以写一个checkbox,调用方法ExecuteQuery();这样就可以实现动态控制了。
5、数据源方法的区别。
(1)DS.Research(),保留现有条件,刷新数据,相当于F5的作用。
(2)DS.ExecuteQuery(),修改过渡条件后,必须重新执行查询。
   DS.Reread(),重新从表读取。
   DS.Refresh(),刷新数据。
6、也可以通过添加Filter过滤器方式添加查询。
InventTable_ds.filter(FieldNum(InventTable,ItemId),ItemIds);//添加
InventTable_ds.removeFilter();//删除

猜你喜欢

转载自www.cnblogs.com/xtwkh1973/p/10992909.html