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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вызов report-а! как его вызывать? 
V
    Опции темы
skif18
  Дата 17.5.2007, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 358
Регистрация: 17.5.2007
Где: Молдова, Кишинев

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



Есть прога. Центральная форма на классе JFrame. Как по кнопке вызывать репорт? Репорт простенький создал в Дезайнере в Еклипсе! Данные он выводит из СУБД. Исам работает. Но как к нему из проги обращаться? Подскажите плизз! smile 
 
Вначале посоветовали так :

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import org.eclipse.birt.report.viewer.utilities.WebViewer;


public class Report implements ActionListener{

    public void actionPerformed(ActionEvent arg0) {
        
        run();
        
        // TODO Auto-generated method stub
        
    }
    public void run() {
        try {
            String report_design="D:/Eclipse3.2.2/workspace/sas1/sprsekt.rptdesign";
            System.setProperty( "RUN_UNDER_ECLIPSE", "true" );
            WebViewer.display(report_design , WebViewer.HTML, false);    
            //WebViewer.display("C:/IANA/2005/Birt/RCP/testBirt/testSampleDB.rptdesign", WebViewer.HTML,false);    
        } catch (Exception e) {
            //logger.error(e);
            e.printStackTrace();
        }

    }
    
    

}

Но не катит!

Потом вот так:

import java.util.logging.Level;
import org.eclipse.birt.core.framework.Platform;
import org.eclipse.birt.report.engine.api.EngineConfig;
import org.eclipse.birt.report.engine.api.EngineException;
import org.eclipse.birt.report.engine.api.HTMLRenderOption;
import org.eclipse.birt.report.engine.api.IReportEngine;
import org.eclipse.birt.report.engine.api.IReportEngineFactory;
import org.eclipse.birt.report.engine.api.IReportRunnable;
import org.eclipse.birt.report.engine.api.IRunAndRenderTask;

public class ExecuteReport {

    public void executeReport(String report_design,String out_file) throws EngineException
    {
        //Engine Configuration - set and get temp dir, BIRT home, Servlet context
        EngineConfig config = new EngineConfig( );
        config.setBIRTHome("D:\\Eclipse3.2.2\\birt-runtime-2_1_2\\ReportEngine");
        config.setLogConfig(null, Level.FINE);
        IReportEngine engine = null;
        try{
        System.out.println("Begin");
        Platform.startup( config );
        IReportEngineFactory factory = (IReportEngineFactory) Platform
        .createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
/*        IReportEngineFactory factory = (IReportEngineFactory) Platform
        .createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
*/        
        System.out.println(config);
        
        engine = factory.createReportEngine(config);
        engine.changeLogLevel( Level.WARNING );
        
//        engine = factory.createReportEngine( config );
        System.out.println("ExecuteReport()3");
        }
        catch( Exception ex){
            ex.printStackTrace();
        }
        IReportRunnable design = null;
        design = engine.openReportDesign(report_design);
        System.out.println("ExecuteReport()4");
//        design = engine.openReportDesign(report_design); 
        IRunAndRenderTask task = engine.createRunAndRenderTask(design);
        HTMLRenderOption options = new HTMLRenderOption();
        options.setOutputFileName(out_file);
//        options.setOutputFormat("html");
        task.setRenderOption(options);

        //run the report and destroy the engine
        try {
            task.run();
        } catch (EngineException e) {
            e.printStackTrace();
        }
        engine.destroy();
    }
 
}

Обрашение Из основной проги:

            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                
                    executeReport1= new ExecuteReport();
                    String report_design="D:/Eclipse3.2.2/workspace/sas1/sprsekt.rptdesign";
                    String out_file="D:/Eclipse3.2.2/workspace/sas1/sprsekt.html";
                    try {
                        executeReport1.executeReport(report_design,out_file);
                    } catch (EngineException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }


            });



--------------------

PM MAIL ICQ   Вверх
skif18
  Дата 25.7.2007, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 358
Регистрация: 17.5.2007
Где: Молдова, Кишинев

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



А уже разобрался!


--------------------

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

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

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


 




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


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

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