当前位置: 首页 > 知识库问答 >
问题:

JR报告不显示数据

雷逸仙
2023-03-14

我编写这段代码是为了使用iReport 4.7.1显示一个简单的报告。

  private void printReport() {
    try {
        JRTableModelDataSource dataSource = new JRTableModelDataSource(
                new JTable().getModel());

        String reportSource = "C:\\Reports\\report1.jrxml";
        Map<String, Object> params = new HashMap<String, Object>();

        params.put("Name", "SriLanka");

        JasperReport jasperReport = JasperCompileManager.compileReport(reportSource);
        JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, dataSource);
        JasperViewer.viewReport(jasperPrint, false);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

以下是我的库:

  • commons-beanutils-1.8.0.jar
  • commons-collections-2.1.1.jar
  • commons-digester-2.1.jar
  • commons-logging-1.1.1.jar
  • jasperrreports-4.7.1.jar
  • jasperreports-applet-4.7.1.jar
  • jasperreports-javaflow-4.7.1.jar
  • groovy-all-1.7.5.jar

NetBeans输出显示此警告

2012年10月8日下午2:57:31,网络。旧金山。jasperreports。发动机组成部分ComponentsEnvironment findBundles警告:为命名空间找到了两个组件http://jasperreports.sourceforge.net/jasperreports/components

这里是。jrxml文件:

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report1" language="groovy" pageWidth="595" pageHeight="842" whenNoDataType="BlankPage" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="5174594e-de3c-4b09-932b-c6665bf6a34b">
    <parameter name="Name" class="java.lang.String" isForPrompting="false"/>
    <background>
        <band splitType="Stretch"/>
    </background>
    <title>
        <band height="79" splitType="Stretch">
            <textField>
                <reportElement uuid="fd02a8bc-548b-41c1-aed5-2a7c2e257704" x="210" y="23" width="157" height="36"/>
                <textElement>
                    <font size="18"/>
                </textElement>
                <textFieldExpression><![CDATA[$P{Name}]]></textFieldExpression>
            </textField>
        </band>
    </title>
    <pageHeader>
        <band height="35" splitType="Stretch"/>
    </pageHeader>
    <columnHeader>
        <band height="61" splitType="Stretch"/>
    </columnHeader>
    <detail>
        <band height="125" splitType="Stretch"/>
    </detail>
    <columnFooter>
        <band height="45" splitType="Stretch"/>
    </columnFooter>
    <pageFooter>
        <band height="54" splitType="Stretch"/>
    </pageFooter>
    <summary>
        <band height="42" splitType="Stretch"/>
    </summary>
</jasperReport>

报告将打开,但不显示任何文本。

共有1个答案

元鸿波
2023-03-14

要解决此问题,您应该:

  1. 检查您的数据源,它可以是空的

无论如何,您的参数名称应该显示在标题栏中(在生成的报告中)。您甚至可以传递JREmptyDataSource来检查这一点。

要显示数据,您可以选择以下方式之一:

它是经典的“老派”方法,用于显示存储在数据源记录中的数据。JR引擎遍历数据源以呈现本节。借助text Field元素,我们可以显示字段值。

示例:查看来自JR分发包的$jasperreport$\demo\sample\jasper示例。

交叉表组件用于将数据汇总到具有两个维度的网格中。

示例:查看jasperreports$\demo\samples\crosstabssample。

列表组件在其记录集上迭代(在子数据集属性的帮助下定义)。

示例:查看使用内置列表组件示例。

该表用于以表格结构显示数据。作为列表组件,它有自己的子数据集。

示例:查看使用内置表组件示例。

子报告用于构建复杂的报告,例如将不同的报告编译在一个报告中。此组件通常与子查询一起运行。

示例:查看子报告示例。

您可以在JasperReport终极指南中阅读详细信息

 类似资料:
  • 本文向大家介绍强制SAP Webi报告显示特定数据,包括了强制SAP Webi报告显示特定数据的使用技巧和注意事项,需要的朋友参考一下 这可以通过创建一个仅显示优先级的单独查询来完成。然后,您需要用合并维[Priority]替换[Query1]。[Priority]列。

  • 我在我的项目中使用JasperReport,在摘要带中使用表组件并使用

  • 本文向大家介绍magento 启用显示错误报告,包括了magento 启用显示错误报告的使用技巧和注意事项,需要的朋友参考一下 示例 在索引页面中更改以下内容: 至 组 $_SERVER['MAGE_IS_DEVELOPER_MODE'] = true 并取消注释此行(删除#) 您也可以SetEnv在.htaccess文件中使用设置开发模式 为了使错误更易于理解,请执行以下操作: 打开您的Mage

  • 这是调试器在运行代码时输出的内容: 2018-11-07 22:12:42.806497-0600CoverMe[7740:78040]未能在(UITabBar)上设置(keyPath)用户定义的检查属性:[setValue: forUndecedKey:]:此类不符合密钥keyPath的键值编码。2018-11-07 22:12:42.901273-0600CoverMe[7740:78040]

  • 我用的是Jasper reports 6.17,我在Jasper Studio里做了一个列表。 列表中只有两个名为“test1”和“test2”的项目,但只显示了一个,我不知道为什么。生成的PDF仅显示“test2”,为什么缺少“test1”?如果我添加10项,第一行将丢失。 jrxml文件是: java文件是:

  • 我已经与Admob广告斗争了将近一周,我在互联网上搜索了所有可能的解决方案,但都没有奏效。我的Android应用程序不显示测试广告也不显示实时广告。这是日志: 我的测试间隙负载没有问题,带电的没有。横幅没有显示,测试的和带电的都没有显示。 这是我的xml AdView: 我在横幅上加了: 活动间隙是以这种方式加载的,它是有效的(测试一没有): 我尝试过的事情 > 使用 使用Firebase广告编译