Heis的Blog

保持简单,保持愚蠢
随笔 - 29, 文章 - 1, 评论 - 122, 引用 - 0
数据加载中……

最新评论

共3页: 上一页 1 2 3 下一页 
@cici
不用子报表是会有问题的,估计是你的数据源配置错误。
我没有建子报表,直接在details下面写的
@Heis
调通后 五条出现都是第一条的信息
public static void count(char[] src) {

LinkedHashMap<Character, Integer> data = new LinkedHashMap<Character, Integer>();

for (Character c : src) {
Integer count = data.get(c);
if (count == null) {
data.put(c, 1);
} else {
data.put(c, ++count);
}
}

for (Character c : data.keySet()) {
Integer count = data.get(c);
System.out.println("Character '" + c + "' occurred " + data.get(c) + " time" + (count > 1 ? "s" : "") + ".");
}
}
由关联数组想到了hashmap,应该可以吧
re: 工作一年了,回顾过去一年的点滴(二) 找个美女做老婆 2009-08-04 08:49  
http://www.javaly.cn Java乐园
朋友,你是搞JAVA的吗?
欢迎进我的Java乐园交流群:81107233
坚持才是硬道理
不错。。
程序员是辛苦,呵呵。
兄弟去应聘外企的,英文方面是不是要求较高的?
真羡慕你,我都想去外企呢。可惜英文一般般!
re: 工作一年了,回顾过去一年的点滴(一) 移动12530彩铃 2009-07-20 20:31  
想写点东西,似乎不知道该写点什么
我也毕业一年,想写点东西,似乎不知道该写点什么。
期待你分享下一篇。我明年毕业。。。
写的真好。学习了!
直奔妖怪洞穴,收服了金、银角大王
@zhenlu
这与博文的主题没关,这可能要找一些支持RTF文件操作的代码看看咯。
我请教一个问题:
如何insert a RTF file to another RTF file?
非常感谢.
地球人都知道。
@5452
在技术领域有统一的术语是非常重要的,当然术语背后的原理更为重要。
@zl
每一行对应一个按钮来打单?这个我不是很明白,我们邮件联系吧。毕竟评论不是留言版。我邮箱:heisun@yeah.net
这个是引用传递和值传递的争论是没有意义的,因为说的东西都是不一样的
是第二条的问题。谢谢!
另外一个问题不知道有没有说明白,希望博主能够指点。
@zl
1.检查你的子报表,field是否放在detail区域内。
2.检查父报表的subreport元素内的XPATH是否是/NameList/Person
3.你的XML数据源不会只有一条数据吧?

如果还发现错误,下载我的模板源代码对比一下。
@sky ao
精辟!
我个人认为很多技术问题不是只了解结论就行了。
楼上正解,学习了!!
n年前就有人总结了啊,简单点说就两句话:
1. 基本类型:按值传递
2. 对象:将引用按值传递

搞清楚什么是对象,什么是引用就一切简单了。不明白的,参考一下c/c++中的指针。
经过反复终于调通,但是生成的pdf只有一条记录
就是第一条:强尼的信息。
请问这是怎么回事呢?
博主好!首先感谢回复。
还有问题请教:
我直接用的ireport里面连接的oracle。
导出的是HTML格式
比如在页面上有:
aaaaa
bbbbb
ccccc
.......
多行数据,每一行对应一个按钮来打单。但是有时候会出现点a行打单后,再点b行打单,再点c等等行打单的话出现的都是a行对应的数据。
这种情况在局域网的时候没出现过,后来项目上线后出现。


不知道我有没有说明白。
高深!
@zl
首先确认你的xml文件没有错,文件编码注意要是UTF8;
如果没错,这可能是ireport的xml解析器bug,我也经常遇到这样的问题。你可以试一下先把原来的ireport的xml数据源删掉,然后重启ireport,再试着新建一个xml数据源。这个bug也困扰我很久,有时候会莫名奇妙地不能解析。
希望博主能加我QQ:944500547
有问题请教,非常感谢!
博主,我按照你的例子来操作一下,到第8步出错了,没有列出xml的列表,这个该怎么处理?谢谢!
平均时间复杂度O(NlgN),最坏时间复杂度O(N^2).
不错,学习一下!与原题其它方法相当,程序适用性和健壮性都加强了```我也写了一个简单的```实在不如,呵呵!
@银河使者
1.这道题目没有说字符就一定是ASCII字符;
2.用256的数组来保存次数难免会造成空间的浪费。
可以使用一个长度为256的数组来保存字符的出现次数,索引就是字符的ASCII,再用一个数组或链表保存字符出现的顺序(保存了字符的ASCII,也就是前面数组的索引)
@sun
打印之前肯定是可以修改的,我猜你的意思是打印预览的阶段对报表进行修改吧?
从Jasperreport的生成报表原理上来看,有这样一个过程。
1.模板设计阶段。这是一个XML文件,以jrxml后缀名结尾。
2.编译阶段。通过编译jrxml文件得到一个jasper文件。
3.数据填充阶段。通过将数据源填充到jasper文件上,然后生成一个jrprint文件。jrprint可以转换为PDF,Excel等格式的报表。jrprint文件已经是填充了数据的报表,不能编辑内容了。

所以要做到修改,有两个方法:
一是修改数据源,你需要将数据源转为可编辑的形式,例如XML数据源,像javaBean或数据库类型的数据源就无能为力了。
二是,打印预览阶段将导出可编辑的文件,例如像HTML,然后提供HTML的编辑器,修改后可以打印。

我个人推荐第一种方法。因为可以将报表导为各种形式的文件,虽然需要工作量比较多。第二种方法就只能绑定在一种报表格式上了。
要求在打印之前可以修改报表中的数据(只要双击就可以修改数据),好像听人说在源代码的JRViewer.java中修改.
可是我对这个东西不太熟悉,
JRViewer.java中有个这方法
public void mousePressed(MouseEvent e)
{
if(e.getClickCount()==2)
{
//这中间就不会了.
}
}
博主遇到过这种要求吗?
re: Jasper Report和iReport简介 mychaoyue2011 2009-03-31 14:39  
heh ,studing
谢谢你的回答!
1、我也想使用统一的数据源,但是就是因为统一的数据源不能满足要求,子报表中嵌套的子报表的数据要进行处理过之后才能符合要求;
2、我就是通过参数传递进来的,如果是一层子报表的话,我在主报表中定义的参数类型为Object,这样可以获取到数据,就是多层嵌套的话就不行。
3、我试试看你说的参数类型为net.sf.jasperreports.engine.data.JRBeanArrayDataSource(Object[])或者 net.sf.jasperreports.engine.data.JRBeanCollectionDataSource(Collection)
这两个行不行;
4、定义参数类型是因为下拉框中没有这几个类型,所以我不知道可以手写的。我以为只能选择下拉框中的类型。
@nesta
1.可以,在属性-字体 里面有一个垂直居中的选项。
2.你可以尝试在subreport属性当中配置一个合适的数据源,像net.sf.jasperreports.engine.data.JRBeanArrayDataSource(Object[])或者net.sf.jasperreports.engine.data.JRBeanCollectionDataSource(Collection)。你可以去查一下API,但是这个解决方法的思路有问题,你为什么不统一数据源,这样可以更好地处理问题。还有你的bean是通过参数传入,还是设想在报表里构造?
3.Jasperreport的参数传递是通过在subreport里设置传递的参数名,例如为ParamA,然后你再在子模板里新建一个相同名称的参数ParamA,就可以获取到这个参数的值了。
1、想问一下部门这个字段能不能上下居中?像“技术部门”和“财政部门”这两个行。
2、还有另外一个问题就是我的主报表嵌套一个子报表,子报表又嵌套一个子报表,其中主报表是直接使用sql语句;而子报告是使用javabean作为数据源的。javabean怎么从主报表传递给子报表。以什么型式传递?
3、如果是只传递一层的话,直接通过变量型式可以传递,但是现在是嵌套多层子报表,所以到了第二层子报表就得不到值了。
不知道我说的清楚没有。
:(
@sun
报表的数据是依赖数据源的,修改数据源自然能修改报表内容。
不知道这个东西能不能录改了?
不是指报表逆时针转90度,而是数据横向排列
共3页: 上一页 1 2 3 下一页