我们都知道,Report在打印之前,都会经历过滤,本文将是描述如何对过滤对话框中相关值的设定。
点开report,出现如下对话框:
我们的目标,就是要对Range中各字段实现代码控制。
方法很简单:
首先,在对应Data Source中,Range节点添加Range信息。
其次,在该Report根节点下的Methods中添加如下代码:
public void init()
{
super();
this.initFromCaller(element.args());
}
public void initFromCaller(Args _args)
{
this.initQuery(element.query());
}
public Query initQuery(Query _query)
{
_query.dataSourceTable(tablenum(zwTeachers)).findRange(fieldnum(zwTeachers, TeacherId)).value("t01");
return _query;
}
第三,下班,泡MM去!!
需要说明的是,在本案例中,initQuery方法直接控制到了值,也就是Range表中对应的Criteria字段,如果需要设置Table以及Field,则只需:
_query.dataSourcetable(tablenum(zwTeachers))
和query.dataSourceTable(tablenum(zwTeachers)).findRange(fieldnum(zwTeachers, TeacherId))
即可首先预定目标!