我的报告中有一个表元素的json数据源。我的json是 -
[{
"line_num": {
"oldVal": "1",
"newVal": "5"
},
"product1": {
"oldVal": "product1old",
"newVal": "product1new"
}
}, {
"line_num": {
"oldVal": "4",
"newVal": "7"
},
"product2": {
"oldVal": "product2old",
"newVal": "product2new"
}
}
]
这适用于我的报告,但后来我需要添加数据源中的列和表标题。
所以我试着将它作为一个自己的对象添加到上面的json数组中,如下所示:
[{
"tableH": "My Table Header" ,
"col1H": "Line No." ,
"col2H": "My Product"
}, {
"line_num": {
"oldVal": "1",
"newVal": "5"
},
"product1": {
"oldVal": "product1old",
"newVal": "product1new"
}
}, {
"line_num": {
"oldVal": "4",
"newVal": "7"
},
"product2": {
"oldVal": "product2old",
"newVal": "product2new"
}
}
]
但问题是当有很多行大于页面的高度时,第二页上的标题为空是有意义的,因为第一行obj(标题obj)从第二行开始是未知的,< / p>
但我不知道如何以另一种方式从服务器传递我的标题。
唯一有效的方法是将所有标题添加到数组中的每个obj中,但我不能这样做,因为它的确是错误的。
我还尝试将这些行放在这样的数组中:
[{
"tableH": "My Table Header" ,
"col1H": "Line No." ,
"col2H": "My Product" ,
"Lines": [{
"line_num": {
"oldVal": "1",
"newVal": "5"
},
"product1": {
"oldVal": "product1old",
"newVal": "product1new"
}
}, {
"line_num": {
"oldVal": "4",
"newVal": "7"
},
"product2": {
"oldVal": "product2old",
"newVal": "product2new"
}
}
]
}
]
但是然后字段没有正确传递,例如传递给 - lines.line_num.newVal,字段是:[“5”,“7”]。
我真的需要帮助,我会感谢任何有用的回复。
答案 0 :(得分:0)
将数据集与静态数据混合似乎是个坏主意。我的第一次尝试是通过scriptlet获取静态数据。
否则,您可以在组标题组件中添加列名称,并利用组的isReprintHeaderOnEachPage
属性提供的功能。
http://jasperreports.sourceforge.net/schema.reference.html#group_isReprintHeaderOnEachPage