Есть способ достичь этого, но он не прост.
Вот как,
Сначала вам нужно загрузить файлы проекта jscal2.Вы найдете необходимые файлы в указанном ниже проекте Github.
https://github.com/captainhcg/GFW/tree/master/js/JSCal2-1.9
В вашем проекте найдите файл "FramesetFragment.jsp", расположенный в папке
birt / webcontent / birt / pages / layout / FramesetFragment.jsp
Этот файл должен быть легко доступен в настройках вашего текущего проекта, если у вас уже есть отчет о запуске birt.(Я не буду объяснять конфигурацию отчета Birt в веб-проекте JAVAEE здесь, потому что речь идет только о том, как добавить средство выбора даты для существующего поля параметра даты отчета Birt.)
Добавитьследующие строки кода после строки номер 130 (перед тегом </HEAD>
) файла "FramesetFragment.jsp".Замените корневой путь контекста на корневой контекст вашего проекта.
<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" могут находиться в разных местах вашего проекта.