Parameters 在jasperreport服务器中创建的输入控件是否独立?

Parameters 在jasperreport服务器中创建的输入控件是否独立?,parameters,jasper-reports,ireport,jasperserver,Parameters,Jasper Reports,Ireport,Jasperserver,我使用Ireport 4.8.0创建报告,我将报告编译成jrxml和jasper文件,并在zuckerreport上使用这些文件显示报告。 到目前为止,我创建了许多报告,甚至使用了字符串参数,一切都很好 当我要求创建一个combobox(输入控件)参数时,我被告知这也只能使用Jasperreport服务器创建。不仅是我的报告 我的问题是: 如果我在Ireport中创建了一个带有使用jasperreport服务器创建的输入控件的报表,并编译该报表,那么报表文件(jrxml和jasper)是否独立?

我使用Ireport 4.8.0创建报告,我将报告编译成jrxml和jasper文件,并在zuckerreport上使用这些文件显示报告。 到目前为止,我创建了许多报告,甚至使用了字符串参数,一切都很好

当我要求创建一个combobox(输入控件)参数时,我被告知这也只能使用Jasperreport服务器创建。不仅是我的报告

我的问题是: 如果我在Ireport中创建了一个带有使用jasperreport服务器创建的输入控件的报表,并编译该报表,那么报表文件(jrxml和jasper)是否独立?
我的意思是,如果将来我尝试在没有安装jasperserver的情况下在zuckerreport中运行该报告,该报告还能工作吗?报表文件是否包含在没有jasperreport服务器(包括我创建的输入控制参数)的情况下工作所需的所有内容?

很难说它们是独立的。我想他们是有关系的。这与java的工作原理非常相似。您有
*.java
*.class
文件,其中
class
文件是从
java
文件派生的

因此,
*.jrxml
文件只是一个文本文档,它以更人性化的方式包含了报告的实际设计。为了运行报告,JasperReports需要编译版本的
JRXML
文件。
*.jasper
文件是编译后的版本,然后用于在运行时执行报告

JasperServer不是必需的。这取决于你想做什么。从技术上讲,这些报告包含了需要汇编和执行的所有信息。就像我对上一个问题的评论一样,在执行报告时,获取报告所需的任何参数的值并将其传递给JasperReports基本上取决于您。JasperServer只是达到这一目的的一种手段,它提供了一个更为用户友好的GUI前端

如果不知道最终用户打算如何使用/访问报告,就很难给出更多的指导。但在几乎所有的场景中,您都需要创建一个屏幕,提示用户在报告中输入所需的参数值,并将其传递给引擎


现在说你想动态地完成这一切。用最简单的话来说,这是可能的。如果参数本质上是自由形式的字段(用户只需键入他们想要的内容),则可以使用JasperReports API获取参数及其类型。然后创建适当的输入字段。当您想将参数的可能值限制在某个列表中时,这显然会出现问题。生成此值列表所需的信息不是
JRXML
Jasper
文件的一部分

@Rodniko我打字的时候觉得有点乱。如果有不清楚的地方,请告诉我,我会努力改进。首先感谢您的时间和努力。我相信我得到了我需要的答案。正如我所说的,我的报告将使用zuckerreport组件,它知道如何运行jrxml和jasper文件。如果我使用jasperreport服务器创建输入控件,那么zuckerreport将“查找”jasperreport服务器,尽管它将在完全不同的环境中运行,没有服务器。但我想这没关系,就像你说的。(顺便说一句,zuckerreport在SugarCRM开源CRM系统中运行)。谢谢。我不熟悉ZuckerReport,但我认为当您将报表添加到其中时,它将允许您为报表创建一个输入控件。因为您在JasperServer中创建的输入控件可能不会继续。因为它与JasperServer中的报告完全分开存储。