【发布时间】:2010-08-24 09:17:10
【问题描述】:
我在为 Eclipse 报告中的日期参数添加日期选择器时遇到了一些挑战。我对 Javascript 知之甚少或一无所知……我将不胜感激有关如何完成此任务的详细说明。谢谢。
【问题讨论】:
标签: javascript datepicker birt
我在为 Eclipse 报告中的日期参数添加日期选择器时遇到了一些挑战。我对 Javascript 知之甚少或一无所知……我将不胜感激有关如何完成此任务的详细说明。谢谢。
【问题讨论】:
标签: javascript datepicker birt
有一种方法可以实现这一点,但不是直截了当。
方法如下,
首先你需要下载 jscal2 项目文件。你会在下面提到的 Github 项目中找到所需的文件。
在您的项目中找到位于该位置的“FramesetFragment.jsp”文件
birt/webcontent/birt/pages/layout/FramesetFragment.jsp
如果您已经启动并运行了 birt 报告,则该文件应该在您当前的项目设置中随时可用。 (这里我不打算解释一个JAVAEE web项目中的birt报告配置,因为这只是关于 如何为现有的 birt 报告日期参数字段添加日期选择器。)
在“FramesetFragment.jsp”文件的第 130 行之后(</HEAD> 标记之前)添加以下代码行。将上下文根路径替换为您的
项目上下文根。
<script src="${pageContext.request.contextPath}/js/jscal2.js" type="text/javascript"></script>
<script src="${pageContext.request.contextPath}/js/lang/en.js" type="text/javascript"></script>
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/border-radius.css" meda="screen" type="text/css"/>
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/jscal2.css" meda="screen" type="text/css"/>
将相关文件(4 个文件)添加到项目中的指定位置
4.1 将 jscal2.js 和 en.js 文件添加到项目中的 javascript 文件位置。
yourwebcontextroot/js/jscal2.js
yourwebcontextroot/js/lang/en.js(* 至少需要一个语言文件)
4.2 将两个样式表添加到相关位置。
yourwebcontextroot/css/border-radius.css
yourwebcontextroot/css/jscal2.css
在
中找到“TextBoxParameterFragment.jsp”文件“birt/webcontent/birt/pages/parameter/TextBoxParameterFragment.jsp”
在“TextBoxParameterFragment.jsp”文件的最后一个表格数据和表格行结束标记之前添加以下代码。
<%
if (parameterBean.getParameter().getDataType()==7|| parameterBean.getParameter().getDataType()==4) {
%>
<button id="<%=parameterBean.getName()%>_button">...</button>
<script type="text/javascript">
Calendar.setup({
trigger : '<%=parameterBean.getName()%>_button',
inputField : '<%=parameterBean.getName()%>',
onSelect : function() { this.hide() }
});
</script>
<%
}
%>
</TD>`<!-- Last table data end tag -->`
</TR>`<!-- Last table row end tag -->`
仅此而已。重新部署您的项目。打开一个新的浏览器窗口并转到您的一份报告。
您应该会在日期字段旁边看到一个按钮,单击它后,您将看到一个日期选择器窗口。
注意:
“FramesetFragment.jsp”和“TextBoxParameterFragment.jsp”文件可能位于项目中的不同位置。
【讨论】: