1.本例是查询条件一体化的范例,请按报表内的提示“请选择国家”操作;
备注: 每次下拉后,报表是从数据源重新加载数据的。实现原理请参考“技术分析区”.



1.含动态参数的数据源
  ds1(订单)数据源含动态参数:
  可查看数据源GetOrder.aspx的C#源码.


2.使用"订单"数据源
  在B4单元格输入了dataRow( )数据源函数:


3.下拉和字典库
  D2单元格是下拉风格的,下拉内容必须和字典库相关,字典也可以取自另一个数据源:

  可查看字典数据源GetOrderCountry.aspx的C#源码.


4.下拉的选项



5.“合计”的技巧



6.备注
1.数据源支持多个动态参数;
2.dataRow( )的中的动态参数可以指向单元格,也可以直接输入,或表达式;
3.中心数据源也有类似的动态参数功能;


7.其它说明
  本例演示了报表的查询条件一体化,这只是按条件查询的实现方法之一。在大多数情况下,还是应该把查询条件移出报表的,通常采用常规的html元素,并将其安置在报表控件的上方,并由您自己拼装出URL,比如:
function RefreshNew(y, m) {
 //拼装出URL
 var url = http://localhost/daldata/orders.aspx?year=" +y+ "&mon=" + m;
 //指定ds1数据源取数的URL地址
 AF.func("SetSource", "ds1 \r\n" + url);
 //重新计算
 AF.func("Calc", ""); 
}
   当然,查询条件一体化也有其好处,比如它降低了报表和页面之间的耦合度,在具体应用中,您应该按需求场景选择实现方法,千万不可太拘泥于本例