Posts Tagged ‘单元格’

润乾报表中主子表引用问题

08.06.2010 by zangmingkun - 0 Comment - 0
Posted in web报表应用

人们在使用润乾报表的过程中,常常希望某个报表中间包含了一片或者多片单元格,这些单元格片段和报表之间往往有一个共同关注的对象,但是同 时各自又有一个独立的主题,片与片之间往往没有直接关联。这样的报表我们称为主子报表或者复合报表,有着共同主题的单元格片段称为子报表,而复合报表本身 称为主报表。

关于主子表的制作,在润乾帮助文档中,已经有了很详细的介绍。这里就不做阐述。

如下图所示即为一个最简单的主子表。

在设计主子表的时候需要注意的一个问题是,在正常的使用中,主子表大多数情况都是以相对路径的方式来引用的。然而在使用相对路径的时候,都会有一个 路径的检查过程,如果不是将报表直接发布到应用资源路径下,在这个路径下另外还有文件夹的话,其子报表的引用路径需要手工填写,不能直接添加否则报错。

本例中,作者就是直接选择的路径,但是由于作者在目标路径下建立了一个名为mc的子文件夹,于是选择子报表是报错。对于这样的情况我们可以手动填写相对路径的url为:mc/hz.raq即可。

单元格中用HTML控制显示个性化文字

01.30.2010 by hewei - 1 Comment - 0
Posted in web报表

快逸报表单元格中的文字展现效果基本上可以满足大部分展示需求,但是有时候web报表用户需要在单元格中显示一些个性文字,如文字翻转等,这样的文字就需要做一些特殊处理,本文就来介绍一下怎样实现在单元格中显示个性化文字。 、

实现思路:
个性化文字通常是通过一些css以及html语言来对文字进行修饰而来的,只要能把这些html加载到单元格中就可以实现显示个性化文字了。

下面根据思路来做一个个性化文字的例子–文字翻转,实现步骤如下:
新建一张普通报表,在A1单元格中我们使用快逸中默认的文字。
在A2单元格鼠标右键,将数据类型转成HTML类型,在文本里输入修饰字体的HTML语言,如下图:

快逸报表html格式设计.PNG

这里使用的是div的方式:
< div style=”FILTER:progid:DXImageTransform.Microsoft.BasicImage(Rotation=1);height:1px”>
快逸报表V4
< /div>
其中style这段代码是用来对字体进行反转操作,Rotation=1代表顺时针转九十度。(这样的HTML代码还有很多)。还可以通过 来设定字体的颜色大小等属性。
需要注意的是单元格数据类型为HTML时,尺寸调整方式无效,这是要手动调整单元格的高宽来适应文字显示。
加入HTML后的文字效果如下:

快逸报表单元格中使用html效果.PNG

就这么简单的就可以实现个性化文字的需求了。通过在单元格中嵌入HTML语言,可以使很多web报表用户通过强大的HTML语言对文字数据进行一些个性化的处理,达到更好的效果。

原文链接:单元格中用HTML控制显示个性化文字

在网页上对报表单元格值的引用

10.23.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

润乾报表在页面上是以纯html形式发布的,每个单元格都有自己的ID,也就是说,可以在页面上引用任何一个单元格的值来进行进一步的处理。

有两种可以确定到单元格位置的方法:

一、通过报表名和单元格名:reportName_cellName,其中reportName是发布报表tag中name的属性值,cellName是单元格名称

如:report1_C1.value–获得报表report1的C1单元格的真实值

report1_C1.innerText–获得报表report1的C1单元格的显示值

二、通过设置单元格的变量名属性

设置了变量名之后,就可以在页面中对其进行引用了,可以在jsp代码中引用,还提供了tag标签来引用。

1.在jsp代码中引用:

<%
String myVar = request.getAttribute( “myVar” );
%>

2.使用tag标签引用:

<report:var name=”myVar” />
引自:润乾报表知识库
相关文章:利用超链接传递下拉数据集的值特殊符号的处理如何使用序号函数给报表加序号动态设置滚动条高度宽度的方法

在润乾报表中使用超链接–触发js函数

10.17.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

润乾报表提供了为单元格设置超链接属性的功能。润乾报表提供的超链接可分为常规超链接、超链接中引用单元格的值,超链接中触发js函数三种类型。前面的文章我们已经介绍过了前两种,这里将介绍如何在超链接中使用js函数。下面给出一个简单的例子。

首先,新建一个报表,在E1中添加文字:触发js函数,为了看起来明显,设置字体颜色为蓝色,并为字体加上下划线,设置E1 超链接 属性的值为:javascript:tips()。其中tips()为待触发的js函数,如下图

cfjssj.png

然后,在发布报表的页面上,编写js函数tips()如下

<script launguage=”javascript”>
function tips(){
alert(”被超链接触发的js弹出提示框!”);
}
</script>

或者,可以直接在该单元格的超链接属性的表达式中写javascript函数,如下图

biaodashi.png

此时就不用在发布报表的jsp页面上编写js函数了。

最后,发布报表,当点击报表E1中文字 :触发js函数,就会执行js函数,弹出提示框,如下图

cfjshsxs.png

这样就实现了在超链接中触发js函数。

注意:润乾报表中提供利用单元格的超链接属性触发js函数的接口,至于使用什么样的js函数,需要用户根据需要自己定义。例如,用户可以编写一个js函数,完成弹出新窗口展现报表的功能,函数举例如下

//在弹出新窗口中展现报表,并向该页面传递参数id的值
function show_product(id){
var strurl=’./chaolianjie.jsp?raq=test.raq&arg1=’+id;
window.open(strurl,”_blank”,” Width=650 ,Height=500,top=100,left=100″);
}

然后在报表触发单元格里写入如下超链接表达式,把A1的真实值传递到新窗口打开的报表展现页面。


引自:润乾报表知识库
相关文章:利用超链接传递下拉数据集的值特殊符号的处理如何使用序号函数给报表加序号动态设置滚动条高度宽度的方法

在润乾报表中使用超链接–引用单元格的值

10.16.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

润乾报表提供了为单元格设置超链接属性的功能。润乾报表提供的超链接可分为常规超链接、超链接中引用单元格的值,超链接中触发js函数三种类型。当超链接字符串需要根据单元格或者参数值动态生成时,很多情况下需要引用单元格的值。这里就介绍一下,如何在超链接中引用单元格的值,包括引用单元格的真实值和显示值。

例子说明:制作一个报表,报表标题:报表,报表中A2格展现的字段有真实值和显示值。点击:真实值链接,超链接会引用A2的真实值,展现报表文件trueValue.raq,即展现客户信息表。当点击显示值连接,超链接会引用A2的显示值,展现报表dispValue.raq,即展现雇员信息表。

首先,准备两个报表trueValue.raq 和dispValue.raq,作为超链接引用单元格真实值和显示值后分别展现的报表文件,报表设计如下图

sjbb.png

然后,新建一个报表,先创建一个内建数据集ds1,数据集中的数据如下

zsjj.png

设置A4的内容:显示值,B4的内容:真实值;设置A4、B4的属性,显示-前景色:蓝色,字体:加下划线,设计好后,如下图

z设计.png

设置A2的值和显示值,如下图

zsj_xszsx.png

设置A4的超链接属性,如下图

sza4.png

设置B4的超链接属性,如下图

szb4.png

最后,发布报表,点击链接:显示值,则在超链接中引用的是A2的显示值dispValue.raq,会展现报表dispValue.raq,即展现雇员信息表;点击链接:真实值,则在超链接中引用的是A2的真实值trueValue.raq,会展现报表trueValue.raq,即展现客户信息表。如下图

zxg.png

这样就实现了在超链接中引用单元格的真实值或显示值。后面的文章我们还会介绍如何在超链接中触发js函数。
引自:润乾报表知识库
相关文章:利用超链接传递下拉数据集的值特殊符号的处理如何使用序号函数给报表加序号动态设置滚动条高度宽度的方法

在润乾报表中使用超链接–常规超链接

10.15.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

超链接有多种灵活应用,比如我们可以利用超链接链接到某个网址,利用超链接来触发js函数,还可以利用超链接弹出新窗口等等。润乾报表为单元格提供了超链接属性,该属性可以是值也可以是表达式。润乾报表提供的超链接可分常规超链接、超链接中引用单元格的值和超链接触发js函数三种类型。如果超链接字符串不需要动态生成,可以直接写要链接到的页面路径,也就是常规超链接。下面将通过一个小例子来简单介绍一下如何在润乾报表中使用常规超链接。

首先, 制作一个报表,在E3中添加文字”链接到公司”,为了看上去明显,设置字体为蓝色,并加上下划线,设置E3的 超链接 属性的值为:http://www.runqian.com.cn,此网址就是待链接到的地址,如下图

ljdgs.png

注意:这里的链接地址是绝对路径,绝对路径一定要写完整,包含传输协议,例如:http://www.runqian.com.cn,不可只写www.runqian.com.cn。

然后,发布报表,当点击”链接到公司” 时,就会链接到润乾的网站,如下图

ljdgsxs.png

这样,就制作了一个简单的常规超链接,在报表展现时,点击超链接,就会链接到 超链接 属性值设定的地址。

说明

1、如果所用到的超链接已经定义好了,那么就不用设置单元格的超链接路径,直接选中单元格,双击该单元格 超链接属性表达式,弹出超链接编辑对话框,从JSP路径 下拉列表中选择链接对象即可。

2、超链接窗口 属性 是设置当超链接被激活时,打开的超链接显示在那个目标窗口。

超链接目标窗口有以下三种:

_self: 当超链接被激活时,在当前窗口刷新显示。

_blank: 当超链接被激活时,在新窗口中刷新显示。

目标窗口名: 指定窗口名,当超链接被激活时,在指定窗口中刷新显示。

该属性如果不写,缺省为_self。

后面的文章我们还会继续介绍如何在超链接中引用单元格的值和触发js函数。
引自:润乾报表知识库
相关文章:利用超链接传递下拉数据集的值特殊符号的处理如何使用序号函数给报表加序号动态设置滚动条高度宽度的方法

报表演变历史-网格式报表

09.22.2009 by fengzhou - 0 Comment - 0
Posted in .net报表相关

报表的开始是非常简单的,如同客户的业务刚起步一样。

简单的数据列表

报表需求:数据库的表有什么列出来什么。

制作过程

1 建立一个空白报表

报表历史-网格式1.png

2 连接数据源,建立数据集

报表历史-网格式-连接数据源.png

报表历史-网格式-建立数据集.png

3 生成网格式报表

报表历史-网格式-生成网格式报表.png

4 设置单元格属性

报表历史-网格式-报表结果1.png

5 预览报表如下:

报表历史-网格式-预览报表结果.png

最基本的网格式报表完毕。

填报表中如何在获得焦点的同时选中单元格内容

08.15.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

在填报表的录入页面,选中单元格对单元格的内容进行修改,默认是以”插入”的方式修改当前单元格的内容,即若不进行删除原有内容依然存在。

1.png

那么,如何做到选中单元格的同时也将该单元格的原有内容全部选中,输入新内容时直接替换掉原有内容呢?

3.png

我们只需要在发布报表的jsp中加个标签,selectText=”yes”,就可以了,selectText标签的含义就是:单元格获得焦点时,是否选中单元格的内容。

2.png
引自:润乾报表知识库
相关文章:可输入的下拉框; 数据库驱动不一致引起的问题;如何实现细粒度的填报表单权限控制——控制到每个单元格是否可写;利用oracle中的序列巧解并发流水号问题

巧用快逸报表属性中的显示值和独立多数据集

05.27.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

设计Web报表时,存储在数据库中的往往是员工D、员工编号、产品序号、简称,而报表展现出来的却需要是员工的姓名和产品的名称。

而且很多时候员工ID和员工姓名不是来自数据库的同一个表,在老式的报表工具中需要程序员写SQL将几个表中的数据字段拼接在一起。这时需要同时对这几个表进行WHERE条件运算,往往运算速度很慢;而且SQL写起来也比较复杂,后期维护困难。

在这种情况下,利用快逸报表的”报表属性”中的”显示值”和”独立多数据集”往往可以轻松的解决问题,而且解决方案非常直观,便于后期的维护和修改。具体应用例子我们来看下面这个张报表,如下图:

快逸报表</p

这是一种常见的订单统计表,报表中统计了不同年份中,各个销售人员完成订单金额的情况,以及各年份的订单金额总和。

这张报表是一张典型的二级分组报表,第一级按年份进行分组,第二级按销售员进行分组,这时问题来了,如果产生数据集ds1的物理表中,只有”雇员ID”,没有雇员的姓氏和名字。那如何得到雇员的全名呢?如下图所示:

数据集ds1</p

图中:A2表达式为:=ds1.Group(year(订购日期),false)+”年”,B2表达式为:=ds1.Group(雇员ID,false),数据集ds1里面没有雇员的姓氏和名字。这时如果不想写SQL语句改数据集ds1来增加雇员的姓氏和名字,有没有更一种简单的方法得到雇员的姓名呢?答案是利用快逸”报表属性”中的”显示值”和”独立多数据集”。如下图所示:

利用快逸报表属性</p

如图中所示:用简单的SQL语句增加一个数据集ds2:SELECT 雇员.雇员ID,雇员.姓氏,雇员.名字 FROM 雇员,然后直接设置B2的显示值为: ds2.select1(姓氏+名字,雇员ID==value()),这样就通过”显示值”表达式把”雇员ID”变成了”姓名”。这也就引出了快逸”独立多数据集的概念”,也就是在报表单元格中不能用多个数据集,但在单元格的”显示值”中却可以使用多个数据集,而且多个数据集可以相互关联。

我们再来看报表的C2和D2单元格的表达式,C2格中为:=ds1.sum(单价*数量),D2格中为:=sum(C2{}),根据快逸分组扩展的概念,C2只求数据本年本雇员的”单价*数量”,所以表达式很简单;而D2则通过更改主格为A1,从而通过sum(C2{})可以直接对本年度分组内C2格扩展出的所有单元格求和,如下图所示:

更改D2左主格,从而通过sum(C2{})可以直接对本年度分组内C2格扩展出的所有单元格求和

这时细心的读者可能会问:最后一列中的”比去年增长金额”如何计算?这个同样是利用”报表属性”中的”显示值”和”独立多数据集”:首先我们将数据集ds1原封不动的复制成数据集ds3:然后在E2里面写表达式:=year(ds1.订购日期)-1,再设置E2的”显示值”为:if(value() in ds3.Group(year(订购日期)), sum(C2{}) - ds3.sum(单价*数量,year(订购日期) == year(ds1.订购日期)-1),”去年为空”)。就能达到目的了,最终结果如第一张图所示。如果仔细观察还会发现用这种方法,还可以做出与上年或者上个月的同期比等报表,至于如何做留给读者自己去思考吧!

读到这里,有的读者可能还是觉得这样实现功能非常复杂,但是这仅仅是快逸报表免费版的功能,在快逸开发版和增强版中有更多高级功能,可以用更简单的方法来做本文的这张报表,包括直接在表达式中使用多个数据集。快逸报表开发版和增强版都提供免费试用,申请地址:http://www.quiee.com.cn/archives/341

快逸报表免费下载地址:http://www.quiee.com.cn/archives/337,推荐试用免费版。

引自:报表工具知识库
原文链接:巧用快逸报表属性中的显示值和独立多数据集
相关文章:Sql语句中的as问题 ; 多源关联分片介绍 ; 报表工具制表能力的探讨;五种主流web报表工具的功能对比模板与数据能否分离
其他相关内容:如何用多源关联设计复杂报表; 免费.NET Web报表工具下载; 探讨Web报表工具;.net报表研究