动态列

如何利用报表工具FineReport实现报表列的动态展示

会有一股神秘感。 提交于 2019-12-06 15:01:44
相信动态列的实现困扰了很多人,大数据量,多字段的加载将会非常耗时,数据又做不到真正的动态灵活。现有的方式都是通过变向的隐藏等方式来实现。 那该如何解决呢?这里分享帆软报表设计器FineReport的实现方案,结合实际工作中遇到的的相关内容。 我本地常用数据库是MYSQL,所以比较了解一点,所以实现方式也是基于mysql的。首先了解一下MySQL自带的information_schema数据库使用。 大家在安装或使用MYSQL时,会发现除了自己安装的数据库以外,还有一个 information_schema数据库。information_schema数据库是做什么用的呢,使用WordPress博客的朋友可能会想,是不是安装模板添加的数据库呀?看完本片文章后,你就会对information_schema数据库有所了解。 information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。 在 MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等

yii cgridview 动态生成列

寵の児 提交于 2019-12-01 13:29:19
首先用过Yii 的朋友们都知道,yii里面的CActiveDataProvider搭配CGridview真的是太方便了。 但是有一个问题,我们必须在相应的view里面编写好CGridview里面的$columns属性。那么就会固定了$columns的列数。有时候,要显示的内容,是根据数据库查询的信息确定的。很可能会出现列的个数是动态的。 问题描述: 下面是小龙本人遇到的例子: 此例子是一个程序在线评测系统类似,著名的杭电oj和poj 当对每次比赛后学生的成绩进行统计时,会遇到上述问题,在CGridview的$columns除了Rank(排名),team(队伍),Solved(解决的问题),Penalty(罚时)这些必须的列 外,还有比赛的每个题目提交情况需要统计并展示出来。如下图: 但是每个比赛的题目数不是固定的,所以在显示的时候,就要想着如何构造动态的$columns? 解决方案: 首先观察$columns是一个数组。 141301408.png 所以把构造$columns这个数组放在了相应的Controllers的函数里面: 当构造好以后,对view渲染的时候,当作一个参数传递过去。 在相应的view里面使用如下方式编写。 如此就可以把动态列的问题解决掉了。 总结: 其实,本方法的主要思想就是,构造$colmuns放在对应controllers的相应Action函数里面实现。