powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как получить значение параметра в JasperReports?
6 сообщений из 6, страница 1 из 1
Как получить значение параметра в JasperReports?
    #33048425
Как получить значение параметра по умолчанию в JasperReports?
Дело в том что изменить значение какого-нибуть параметра, не составляет никаких проблем.
Код: plaintext
1.
2.
3.
4.
             Map parameters =  new  HashMap();
             parameters.put("Title", "Отчет о ...");
             Connection conn = getConnection(); 
             JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,parameters, conn);
тут все замечательно, значение параметра Title меняется.
А вот как мне получить то значение которое по умолчанию вводится в дизайне шаблона?
Единственное что можно получить, это две строки
Код: plaintext
1.
2.
String value = "(new Integer(1354))";
String classNameValue = "java.lang.Integer";
...
Рейтинг: 0 / 0
Как получить значение параметра в JasperReports?
    #33048567
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
            JasperDesign jasperDesign = JRXmlLoader.load("myReport.jrxml");

            JRParameter[] defaultParameters;
            defaultParameters = jasperDesign.getParameters();
             int  i =  0 ;
             while  (i < defaultParameters.length) {
                 if  (defaultParameters[i].getName().equals("Title")) {
                    System.out.println (defaultParameters[i].getDefaultValueExpression().getText());
                }
                i++;
            }
...
Рейтинг: 0 / 0
Как получить значение параметра в JasperReports?
    #33048668
Именно так и делал...
Если Title имеет тип java.lang.String, то println выведет:
"Отчет о ..." с кавычками....
А если java.lang.Integer, то:
(new Integer(1354))

Просто я тут наткнулся на код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
java.util.Map reportParameters = HashToArraySorter.mapify(aReport.getParameters(), "getName");
             while (parameterList.hasNext()){

                NameValuePair aPair = (NameValuePair)parameterList.next();
                String parameterName = (String)aPair.getNameObject();
                Value aValue = (Value)aPair.getValueObject();
                JRParameter aReportParameter = (JRParameter)reportParameters.get(parameterName);
                 Class  expectedClass = aReportParameter.getValueClass();
                Object parameterValue = aValue.getValueAs(expectedClass);
                parameters.put(parameterName, parameterValue);
                //                System.out.println("Assigned: " + parameterName + " to: " + parameterValue);

            }
тут
Искал классы NameValuePair, Value, оказывается они были описаны в
import dori.jasper.view.*;
import dori.jasper.engine.*;
как выяснилось dori первые версии jr...
Как видно значения выдергиваются с помощью NameValuePair, Value, вот я и подумал, что есть какие-нибуть средства JR для этого.
...
Рейтинг: 0 / 0
Как получить значение параметра в JasperReports?
    #33048750
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну я думаю это возможно сделать. Вот только надо покопаться.
Интересно, а зачем такая задача стала? Зачем смотреть то, что было задано на этапе дизайна и не задать то что нужно при старте программы?
...
Рейтинг: 0 / 0
Как получить значение параметра в JasperReports?
    #33048853
В системе предусмотрено добавление отчетов, откомпаленных *.jasper.
Например, нужно вывести список всех этих отчетов, удобно хранить информацию о отчете в самом отчете в параметре Title.
Ну там еще есть и другие параметры, диапазоны значений, сортировки, итд. соответствующие логики БД системы.
Просто это очень удобно, практически полное обстрагирование и систематизация.
Я просто пишу дизайн отчета скажем в iReports, с параметрами, запросом, итд.
А потом добавляю в систему, через интрефейс, и все...
...
Рейтинг: 0 / 0
Как получить значение параметра в JasperReports?
    #33061191
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покопался тут немного на днях. Просмотрел кучу классов и методов. И не нашел ни одного где бы хранились параметры в нормальном формате.
Думаю в данном случае самый простой способ, это написать свой класс, который будет преобразовывать все это в нужный формат.
Можно конечно еще покопаться в исходниках и посмотреть как это сам джаспер делает, но думаю первый вариант будет проще.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как получить значение параметра в JasperReports?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]