
2008年9月1日
马上过年喽,不知道大家是不是也跟我一样无心工作等放假~嘿嘿,提前拜年啦,年后公司要登记员工信息,我又得干活ing!忿啊~于是乎~我做了个员工登记表,这玩意看着简单,还是很需要实力的 哈哈哈哈哈哈,我这样的实力派,就把做法分享给大家,又需要的同学可以借鉴一下。其实这是个表需要填写完信息之后,直接保存到数据库里,就是所谓的填报是也~其实很简单。
数据库中的数据表我重新建了个表,把它命名为Employee,用来保存员工信息用。表中共有name,sex,birthdate,national,political,origin,height,weight,healthcondition,qualificationgs,school,major,address,zipcode,Email,tle,language,level,computer,graduatedate,reportdate,title,educationexperience,workexperience,photo,writedate等几个列。
打开设计器,先来新建一张报表,然后排好样式,比如下面这个。

打开报表|报表填报属性对话框。
点击智能添加字段按钮,用来将模板中的字段和数据表中的字段对应,可以自由选择所需对应的字段。
可选列中包含数据表中所有的字段,值对应模板中的数据字段,这里需要建立数据表中的字段和模板字段的一一对应关系,选择右边的智能添加单元格按钮,可选列自动选择name,值选择时只需要点击相应的单元格B3,单元格值就会自动传入对话框界面,这里还可以把姓名作为主键,然后依次当可选列选择性别,值选择对应D3,以此类推,birthdate对应F3,national对应B4,political对应D4,origin对应F4……这个样子~

填报属性就设置完成喽~
报表的填报属性设置完成后,需要设置模板中单元格的填报属性,选中B3单元格,右键选择单元格填报属性,设置单元格的填报属性,

然后就可以填报啦~~啊哈哈哈哈哈

在里面把自己记录写上,就可以保存到数据库里啦~怎么样~我是不是个人才呢~
不过~这个也是偷学来的~囧
关于这个要说的东西太多了,就作为第一部分先发给大家吧~
下按此讲什么呢~讲一下怎么智能显示出你想要写的内容好了~吼吼
我这么努力 大家要支持哦~
posted @
2009-02-04 14:19 javareport 阅读(331) |
评论 (1) |
编辑 收藏
好久没记笔记了,嘿嘿~太偷懒咯~这次写个刚学会的东东~就是我平时通过浏览器填写表格的时候,常常会遇到这样的情况,在选择省份之后,后面城市的内容要和该省份的城市对应==!。就是参数之间有关联的关系~第一个变了 第二个跟着变咯~不知道要通过什么参数进行相关设置,来达到参数连动的效果呢~~见本人制作过程~~嘿嘿~
下面就拿我上次做的省份城市的例子看一下~

就是上面这个效果啦~,当我们选择浙江省后,后面城市选择即为浙江省相关城市~是不是很神奇 嘿嘿~
制作过程来咯~
1.新建个报表数据集ds1,添加数据列

像上面这样哦~
2.设计报表,将ds1中的字段 省份拖拽到A5单元格中,保留其默认的扩展、分组并且扩展方向从上到下的设置。同理,将其它与标题呼应的字段拖拽到对应的单元格中,采用与A5同样的设置~同时在A6单元格中输入公式=sum(D5),对A5扩展出来的数据求和。设置完成之后就想下图这个样子啦~

3.添加数据字典:点击服务器,选择服务器数据字典。打开服务器数据字典后,点击左上角的 + ,选择自定义,分别添加"省份"、"城市"、"省份城市"三个数据字典。
4.通过插入行,对三个数据字典各自添加key(键值)和value(数值)。注意:"省份城市"数据字典中,key(键值)与"城市"数据字典key(键值)一致,value(数值)与"省份"数据字典中key(键值)一致。
5.在报表|报表参数中定义参数:
参数$Province,默认值为"江苏省",编辑器为下拉框,数据字典类型为服务器数据字典。数据字典的来源为刚刚自定义的名为"省份"的服务器数据字典;
参数$City,默认值为"南京市",编辑器为下拉框,数据字典类型为报表数据字典。数据字典的来源为刚刚自定义的名为"城市"的服务器数据字典。在过滤条件中,写入公式:=MAP($$$,"省份城市")==$Province。该公式中,"$$$"代表当前值,整个公式表示当前值(键值)在名字为“省份城市”的数据字典中,返回所对应的值与参数$Province的一一对应

双击A5单元格,数据列|过滤对话框中,添加参数为省份等于$Province,同理,双击B5单元格,在出现的数据列|过滤中,添加参数为城市等于$City,即给报表添加了两个参数控制。如下图所示:

这样就搞定了哦~
当选择省份之后,城市下拉框中所有选项都是该省份的城市,就是实现了参数连动~~
怎么样?这个也不难吧?呵呵~

posted @
2008-12-26 15:04 javareport 阅读(191) |
评论 (0) |
编辑 收藏
常常遇到这样的情况,数据库当中存储的数据都有一个时间戳。但是这个时间戳往往不是连贯的。例如我们下面将要提到的例子,比如一个员工业绩考核年报。假设一月份是假期,所有员工都没有业绩记录。那么按照普通的做法,在报表当中展示数据的时候,则不显示有一月这样一个月。
但是我们在查看数据的时候,往往希望一整年的数据是连贯显示的。但是这时,不可能通过修改数据库达到目的,就只能通过报表工具来弥补数据的不足。
下面是用FineReport做的一个例子:
该表的数据库结构很简单,共包含4个列,分别是编号,员工姓名,时间,业绩。按照普通的做法,就是将序号,员工姓名分别拖拽至单元格当中,设置纵向扩展。时间列设置横向扩展。数据放置到交叉的位置,也就是这是一个最简单的交叉表。
但是从效果图里面可以看到,1月是全部没有数据的。如果直接从数据库当中读取数据来展现,报表当中就不会有1月这一列。所以这里的连贯月份就需要我们用报表来实现。
在FineReport当中,有一个list的功能,也就是手工设置一串数据。这里我们就设置了一个list 从1到12。并且通过高亮将单纯的数字改成了1月,2月这样的形式。
然后当然,我们list出来的月份数据和统计数据需要通过关联达到准确计算的目的。这时候就需要在统计数据格子的过滤条件当中,添加关联的条件了。具体的大家可以参考附件的CPT文件。
因为是共享版面,所以无法直接上传附件,感兴趣的朋友可以留下自己的电子邮箱,然后我发到你的邮箱就可以咯~
posted @
2008-11-28 15:52 javareport 阅读(150) |
评论 (0) |
编辑 收藏
隔了好久又开始写学习笔记了,工作忙的差点荒废了做笔记,呵呵,自我检讨一下先吧。
这次的中级报表制作做什么呢,想了一下,还是做个不是很复杂的,举个用列名称控制显示列的例子好了。
我想要什么效果呢,就是数据库里存了好多的数据列,但是我不想都显示出来,只想要我想看的固定的那几个列,所以我就想要访问报表的时候,他把可以选看的列名称都显示给我,我可以自己选几个想看的列。
其实操作起来也不是很难的。老规矩,放个图先:

这个图里面,有六个列可以选,课程号,课程,年纪,姓名等等,但是我只想看课程号,名字和他们对应的性别,这里我就多选这三个列,得到的效果见下图喽~

废话不多说了,简单介绍下我的制作方法吧~
首先 把数据导入到Finereport里来。直接select * from StScore.
StScore这个表里有六个列: Class No, Name, Sex, Course, Grade, Student No.
然后新建一张空白的自由报表。 定义一个参数,名称为Para。类型选为复选框,如图:
然后我们来定义一个报表数据字典,选择定义|自定义,然后写入6个列名,分别为复选框中的可选项,确定。设置如下图:
在B2单元格中,写入一个公式:=split($para, ",")。意思就是啊在B1单元格中写入了一个函数split ( )。该函数在此处可以获取从参数中传入的列名作为值,并将每一个值写一个单元格。
然后我们鼠标选中B2单元格,将他设置为从左到右扩展。
在A3单元格中写入如下公式:=ds1.select(#0),这个公式的意义就是取得ds1数据源当中的所有行号。就是呢ds1当中有多少行数据,那么这个公式返回该结果的行号,1,2,3……
把A3单元格设置为从上到下扩展。
然后在B3单元格中写入如下公式:=ds1.column(b2),这个公式的意义就是要获取B2单元格所指定的列的列内容。其返回记录的排列顺序是按照A3当中所获取的行号进行排列的。
预览就有我们要的效果喽~搞定!嘿嘿~
中级的报表相对以前写的初级确实是多了很多步骤呢,也不知道自己描述的清不清楚~还有问题的同学欢迎提问喽~恩恩~
posted @
2008-11-07 14:52 javareport 阅读(189) |
评论 (0) |
编辑 收藏
自由分栏
最近忙了一阵子 教程有些日子没做咯~~ 有没有人期待啊 哈哈
说这次要进阶的 之前做的都是很初级的报表制作 几分钟搞定的事。
这次中级的做什么好呢 第一次的中级的就分享个相对不是很难的吧 做个员工档案卡
其实员工档案卡很简单 为什么要归到中级里呢 我想了一下
这里我要用到自由分栏 之前用别的方法试过 不是做不了 就是比较麻烦 所以这里归到中级里 也有这种问题的朋友可以看看 能不能帮到你
废话不多说了 老规矩 先放个图吧
就是这个预览效果哦~在我的工作中,常常会遇到把一片的数据进行分栏的情况,比如一片数据是一个标签的情况,不知道大家是不是也一样了。
用finereport来做这个表 难度其实也说不上有
先列一下我的制作过程吧
新建一个自由报表,导入数据源这些都不用说的吧 必做步棸哦~
然后我们画一个表样
象这样:

然后把相应的数据拖到对应的格子里 就成了这样:

把除了姓名这一格之外的格子的父格都设置为B2(包括A2 哦) 这样的效果就是一个名字对应一个性别 专业等信息 达到每一个姓名相关的记录都在同一片的目的。
然后我把得每一个标签都区分开来,也就是把整个连贯在一起的报表,添加空格。我的办法就是在是在A8这一行当中,选择任意一个单元格,右键,选择父格设置,将其左父格自定义为B2单元格,也就是每一个完整的数据标签下面,都会跟随一个空白的行,这样每一个标签,在行方向上就隔开了哦~o(∩_∩)o…看看效果吧
隔开了哦~嘿嘿
这时候预览报表,可以看到整个报表只占据了页面左侧的部分位置。并且由于长度超过了预设的A4纸大小哦……..所以这里就要开始分栏了~
选则finereport里的 报表|报表分栏 写一下开始分栏行列号 和结束的行列号
我们这里是从第1行到第8行 就写1 和8 就可以了
Ok 了哦~~搞定了
看下效果

这个分栏的效果就出来喽~
今天的课就到这里啦~有问题的同学尽管提哦~一起学习吧~
posted @
2008-09-01 15:49 javareport 阅读(136) |
评论 (0) |
编辑 收藏