Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jasper reports 拉伸交叉表';水平s细胞_Jasper Reports_Crosstab - Fatal编程技术网

Jasper reports 拉伸交叉表';水平s细胞

Jasper reports 拉伸交叉表';水平s细胞,jasper-reports,crosstab,Jasper Reports,Crosstab,如何让[交叉表小部件中的]值单元格水平拉伸,而不是垂直拉伸?溢出时拉伸垂直拉伸单元格,而不是水平拉伸单元格 背景 如果我没记错的话,JasperReports中的单元格既没有设计也没有实现水平拉伸。这是首席开发人员有意识地做出的决定 您可以通过根据数据的宽度生成交叉表单元格来拉伸它们(仅这句话就可以让您了解创建此问题的通用解决方案的范围)。这是可能的,但是需要使用创建自己的类 假设您有100000行数据,并且希望单元格自动适应最长的字符串。JasperReports必须做两件事之一: 在运行最终

如何让[交叉表小部件中的]值单元格水平拉伸,而不是垂直拉伸?溢出时拉伸垂直拉伸单元格,而不是水平拉伸单元格

背景 如果我没记错的话,JasperReports中的单元格既没有设计也没有实现水平拉伸。这是首席开发人员有意识地做出的决定

您可以通过根据数据的宽度生成交叉表单元格来拉伸它们(仅这句话就可以让您了解创建此问题的通用解决方案的范围)。这是可能的,但是需要使用创建自己的类

假设您有100000行数据,并且希望单元格自动适应最长的字符串。JasperReports必须做两件事之一:

  • 在运行最终SQL语句之前,一般修改开发人员的SQL语句,以查询每个相应列中最长的字符串。这将有效地运行查询两次。如果查询使用易失性函数调用,那么各种问题都可能发生
  • 查询所有行,然后确定最长的字符串。对于10000条记录以下的查询,这不是问题。扩展到100000行会带来巨大的性能损失,并且会占用大量内存
  • 然后你必须回答关于空白的问题:修剪还是不修剪?如果报告软件对其进行修剪,则返回的数据不是数据库中信息的真实表示。如果数据没有被修剪,那么这将导致更多问题(比如看起来“空”的超长列)。或者,您可以让开发人员再做一件事情

    这不是一个微不足道的问题

    选择 试试看