知识库

推荐内容

快逸做的更好

产品优势

您的位置: 首页 > 知识库 > 设计基础 > Web报表通过参数动态得到一个参数区间

Web报表通过参数动态得到一个参数区间

Web报表设计中,经常会遇到从一个时间区间内取得数据的问题,比如查询某个日期所在周的订货信息详情,如果使用普通参数来解决这个问题的话,需要用户手动设置一周的起始时间和结束时间,这样做不但容易出错,而且也增大了开发人员的负担,如果使用动态参数来解决这个问题,用户只需要选择某个日期,系统就会自动计算出该日期所在周的起始时间和结束时间, 简化了客户的操作,提高了准确程度。
下面以一个例子来说明如何实现这个需求:
预期效果如下图所示:

快逸报表Web报表通过参数动态得到一个参数区间预期效果1

第一步:设计报表

使用快逸报表demo数据源,建立两个数据集。
ds1:
SELECT 订单.订购日期,订单.订单ID,订单.货主地区,订单.货主城市,订单.运货商 FROM 订单 WHERE 订单.订购日期 >?AND 订单.订购日期 < ?
并添加两个参数定义arg2和arg3。
ds2:
SELECT 运货商.公司名称,运货商.运货商ID FROM 运货商
在报表设计器中添加以下数据:
A2单元格表达式为:=str(arg2)+ ” 到”+str(arg3)+” 订货单 ”
A4单元格表达式为:=ds1.Select(货主地区)
B4单元格表达式为:=ds1.货主城市
C4单元格表达式为:=ds1.订单ID
D4单元格表达式为:=ds1.运货商,显示值表达式为=ds2.select(公司名称,,运货商ID==value())
E4单元格表达式为:=date(ds1.订购日期),显示格式为:yyyy年MM月dd日
设置背景颜色如下:

快逸报表Web报表通过参数动态得到一个参数区间参数设计

第二步:设置参数

在设计器—配置—参数中,为报表添加一个日期型普通参数和两个日期型动态参数,这个普通参数的值设置为1996-07-08(作为首次查询的默认值,可为任意日期),两个动态参数值设置为:
动态参数arg2的值填写weekbegin(arg1),
动态参数arg3的值填写weekend(arg1),
其中weekbegin()和weekend()这两个函数是报表自带的函数,他们的作用是计算一个日期所在周的起始时间和结束时间。
在本例中,通过普通参数得到时间,然后动态通过函数计算,将得到的时间赋给arg2和arg3,然后系统将arg2和arg3作为条件进行检索。

快逸报表Web报表通过参数动态得到一个参数区间参数设计3

第三步:设计报表参数模板


模板为填报报表

快逸报表Web报表通过参数动态得到一个参数区间参数模板

B2: 提示输入日期:
C2: 可写,填报属性中的编辑风格为下拉日历。
在web中预览报表,形式如下:

快逸报表Web报表通过参数动态得到一个参数区间显示效果

参数输入框中通过下拉日历选择日期,系统自动算出日期所在周的起始和截止时间,并根据这个条件显示时间,并最终显示出结果。

本文标签:
发布日期:2009/11/02
本文分类: 设计基础