Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JasperPrint передача пареметров, создания класса JasperPrint  
V
    Опции темы
izver84
Дата 15.2.2010, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 302
Регистрация: 5.11.2007

Репутация: 1
Всего: 1



Здравствуйте.
Было решено все отчеты делать в ireport.

Сейчас делаю так.
На кнопку ставлю слушателя 
Код

    jButton4.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {                
                    HashMap parameters = new HashMap();
                    String datd=_DateString;
                                         //задаю параметры
                    parameters.put("user",Zaiavki.nameUser);
                    parameters.put("dat",datd);
                
                    try {
                        JasperDesign jasperDesign = JRXmlLoader.load("name.jrxml");//определяю отчет для  JasperDesign 
                        JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);

                        Connection conn = DBConnector.getConnection(); //определяю соеденение
                        JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,parameters, conn);//задаю параметры
                        JasperViewer.viewReport(jasperPrint,false);
                        
                } catch (JRException ejr) {
  
                        ejr.printStackTrace();

                }
                }
            });



вопрос в следующем
как сделать отдельный класс, к которому можно было бы обращаться?
Т.е.  в слушателе кнопки я определяю только  название отчета и значение parameters и передаю их  классу отвечающему за отображение отчета.

Добавлено через 13 минут и 57 секунд
Нашел как делать.
создал класс Ireport
Код


import java.sql.Connection;
import java.util.HashMap;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.view.JasperViewer;
public class Ireport {
public    String sourceFileName; 
public    HashMap parameters = new HashMap();
public void ireport(){     
try {
    JasperDesign jasperDesign = JRXmlLoader.load(sourceFileName);
    JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);

    Connection conn = DBConnector.getConnection(); 
    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,parameters, conn);
    JasperViewer.viewReport(jasperPrint,false);
    
} catch (JRException ejr) {

    ejr.printStackTrace();

}
}
}



обращение к нему
Код

    Ireport ir =new Ireport();
                    ir.sourceFileName="name.jrxml";
                    ir.parameters.put("user",Zaiavki.nameUser);
                    ir.parameters.put("dat",_DateString);
                    ir.ireport();        



--------------------
Если новая программа с первого раза компилируется без ошибок, значит, она написана принципиально неправильно. 
PM MAIL   Вверх
izver84
Дата 15.2.2010, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 302
Регистрация: 5.11.2007

Репутация: 1
Всего: 1



Можно ли задать размер viewReport?




--------------------
Если новая программа с первого раза компилируется без ошибок, значит, она написана принципиально неправильно. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0673 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.