知识库

推荐内容

快逸做的更好

产品优势

您的位置: 首页 > 知识库 > 填报技术 > 过滤关联 动态过滤在web报表中的实现

过滤关联 动态过滤在web报表中的实现

“前面选择了省份,后面怎么才能自动出来省份里的城市”,”一个单元格选择父级字段,后面单元格可以自动出现该父级下的子级列表吗?”这些都是报表客户经常提出的需求,在报表中这类需求很常见,并且在报表的填报查询中大量用到,这种功能在快逸报表里叫做过滤关联。

本文就来讲一下用快逸报表是怎么实现”过滤关联”功能的,同时也介绍下它的一个很有用的好搭档:动态过滤。

过滤关联概念通过下面的截图向大家解释会更加清楚

快逸报表过滤关联示图

如上图所示:”地区”和前面的”国家”关联,”城市”和前面的”国家”还有”地区”关联。

那动态过滤又是什么呢?大家注意看上图下拉框中的数据,例子中只有7个地区,选择自己需要的内容还算方便,但是当数据特别多的时候查找想要的数据就有点困难了,动态过滤在这里就起作用了,假如我们想选择”西北”,我们在单元格中输入一个”西”字,然后所有带”西”字的数据就都被过滤出来了,这就是动态过滤。效果见下图:

快逸报表动态过滤示图

下面就开始今天的主题,看看快逸报表中是怎么实现这两个功能的,很简单,我们根据客户的需求做个例子。

第一步:新建一张空白报表,并在”报表属性”里把报表设置成”可以填报” ,然后连接数据源,建立数据集,本例中用得是demo数据源,数据集从”订单表”上建立,关于如何建立数据集请参看快逸文档中的:学习教程->报表初级复杂报表设计" target="_blank" class="quieeLink1">设计。建立数据集ds1,其sql语句为 :SELECT 订单.货主国家,订单.货主地区,订单.货主城市 FROM 订单

数据集配置好以后就可以开始设计报表样式了,我们在设计器里画出报表大致框架,如图 :

快逸报表设计报表框架

第二步:开始设置其中的数据,右键点击B1单元格,选择”填报属性”设置”国家”内容。 见下图:

快逸报表-国家-下拉数据集设置图

这里的”编辑风格”属于下拉数据集,所以选择”下拉数据集”,单元格是需要填写的数据的,所以”是否可写”设成选中状态,然后点击”设置”按钮开始设置”下拉数据集”数据内容,数据集选择相应的数据集ds1,显示列和数据列都选择”货主国家”,右下角的4个复选项我们要选择其中红色框中的两项,作用后面会介绍到。

第三步:右键点击D1单元格,选择”填报属性”设置”地区”内容,和第二步一样,选择”下拉数据集”"是否可写”设成选中状态。下面的操作是比较重要的步骤,大家应该多加注意。 见下图:

快逸报表-地区-下拉数据集设置图

这里的设置比第二步多了一个环节,因为要和前面的”货主国家”进行关联,所以我们要在”web特性”里进行一些设置,首先是过滤关联表达式,例子里是这样写的:货主国家=${B1}.toString(),大家可以根据自己的情况设定。然后设置”触发关联过滤单元格” ,这里触发过滤得是B1单元格,点右面的增加按钮,然后在名称中写上 :${B1},设置完成。

第四步:第二次关联设定,也就是”城市”的设定,操作步骤和第三步大体相同,但是公式略有不同,先看下图 ,然后大家自己对比下不同之处。

快逸报表-城市-下拉数据集设置图

不同在哪里?就是上图中大红色框中的部分,第一次关联只需要和”货主国家”关联就可以,第二次关联的时候就需要同时和”货主国家”还有”货主地区”关联了,所以我们在过滤关联表达式里应该这样写:货主国家=${B1}.toString() and 货主地区=${D1}.toString(),触发单元格也就相应的应该设置两个了:${B1}和${D1}。

到这里一个完整的过滤关联例子就做完了,我们发布以后就可以看到我们想要的效果了,也就是本文的第一个图。

最后说一下过滤关联的好搭档:动态过滤,也很简单,大家看下上面三张图片右下方都有四个复选框,而且三张图中都选择了其中的两个选项:增强控件、允许编辑,我们的动态过滤就是这两个选项实现的,就这么简单,至于其中的原理咱们都无需深究,知道快逸报表给报表开发人员提供了这么方便的功能就可以了。

文章结束,希望可以帮的上您,这类实用的功能快逸报表还有很多,应用之妙,纯乎一心,相信大家一定可以用快逸报表解决更加复杂的web报表问题。

引自:报表工具知识库
相关文章:输入时的关联过滤 ; 下拉数据集的多层动态多虑 ; 查询条件的保存">用快逸报表轻松实现查询条件的保存;excel入库">用快逸实现在web页面导入excel入库
其他相关内容:用快逸设计WEB报表;.NET Web报表开发工具探讨报表工具;web报表博客

发布日期:2009/06/08
本文分类: 填报技术