ورود

View Full Version : سوال: iReport یا...



soheril.server
جمعه 07 مرداد 1390, 10:41 صبح
با سلام
دوستان کسی آشنایی با نحوه ی استفاده از iReport در Netbeans داره؟ یا لااقل میتونه یه لینک یا کتاب مفید معرفی کنه؟
کلا" کسی با راه های گزارش گیری آشنا هست؟ {با هر نرم افزاری حتی به جز iReport}

soheril.server
شنبه 08 مرداد 1390, 12:28 عصر
یعنی هیچ کمکی نمی تونید کنید!!!:متعجب::متعجب::متعجب::ق هقهه::قهقهه:

Mirmahdi90
یک شنبه 16 مرداد 1390, 13:46 عصر
سلام
من با iReport-4.0.2 کار کردم. نحوه کار این نرم افزار به این صورته که شما توی اون میتونی یک قالب گزارش تهیه کنی و درواقع یک فایل با پسوند jrxml. بسازی که بعد از کامپایل بهت یک فایل با پسوند jasper. بهت میده که میتونی با استفاده از اون و خوندن داده ها از دیتابیس و یا کلاسی که برای داده ها نوشتی یه گزارش تولید کنی.
البته دوتا توصیه :
یک اینکه واقعا کار با این نرم افزارا خیلی سخته که تو بخوای ریز ترین نکته هاش رو هم خودت طراحی کنی بهتره که از یه قالب آماده استفاده کنی و به دلخواه خودت کمی تغییرش بدی.
و دو اینکه ممکنه فایل نهایی که با پسوند jasper. بهت داده میشه توسط برنامه به درستی خونده نشه و دلیلشم یکی نبودن ورژن(Version) نرم افزار و جاواس.
امیدوارم چیزایی که گفتم برات مفید باشه و بازم اگه سوال داشتی بپرس تا اگه من یا هرکس دیگه ای جوابش رو میدونستیم بهت بگیم.

soheril.server
دوشنبه 17 مرداد 1390, 11:08 صبح
سلام
من با iReport-4.0.2 کار کردم. نحوه کار این نرم افزار به این صورته که شما توی اون میتونی یک قالب گزارش تهیه کنی و درواقع یک فایل با پسوند jrxml. بسازی که بعد از کامپایل بهت یک فایل با پسوند jasper. بهت میده که میتونی با استفاده از اون و خوندن داده ها از دیتابیس و یا کلاسی که برای داده ها نوشتی یه گزارش تولید کنی.
البته دوتا توصیه :
یک اینکه واقعا کار با این نرم افزارا خیلی سخته که تو بخوای ریز ترین نکته هاش رو هم خودت طراحی کنی بهتره که از یه قالب آماده استفاده کنی و به دلخواه خودت کمی تغییرش بدی.
و دو اینکه ممکنه فایل نهایی که با پسوند jasper. بهت داده میشه توسط برنامه به درستی خونده نشه و دلیلشم یکی نبودن ورژن(Version) نرم افزار و جاواس.
امیدوارم چیزایی که گفتم برات مفید باشه و بازم اگه سوال داشتی بپرس تا اگه من یا هرکس دیگه ای جوابش رو میدونستیم بهت بگیم.

با سلام
اول از همه متشکر که پاسخ دادید
ولی یه ذره کلی گفتید:گیج:
مثلا" ببینید، اصلا" وقتی که می خوایم این نرم افزار رو دانلود کنیم، باید پلاگین هاش برای Netbeans رو دانلود کنیم یا خود نرم افزارش رو؟
مثلا" من خود نرم افزارش رو دانلود کردم، ولی همون طوری که گفتید خیلی سخته...
چه طور باید Database بهش وصل کنیم؟
چه طور به برنامه مون که در Netbeans هست وصلش کنیم؟
.
.
.
حقیقتا" من خیلی سوال دارم؟ میشه لطف کنید یه کم دقیق تر پاسخ بدید؟

Mirmahdi90
دوشنبه 17 مرداد 1390, 17:34 عصر
سلام
من خودم فقط خود نرم افزار رو دانلود کردم و همونطور که گفتم یک قالب آماده رو برداشتم و کمی تغییرات توش اعمال کردم تا شد اونی که میخواستم.
در مورد پایگاه داده هم تا جایی که من اطلاع دارم کلا دو روش کلی برای اتصال فایل های گزارش به اطلاعات وجود داره.
اولیش که من خیلی توش وارد نیستم اینه که یه جوری به فایل گزارش میفهمونی که بره و از تو خود پایگاه داده اطلاعات برداره که چون من خودم این کار رو نکردم نمیدونم چطور باید این کار رو کرد. (شاید به همون plugin هایی که شما گفتی نیاز باشه)
اما روش دوم که من این روش رو انتخاب کردم اینه که یک کلاس رو به عنوان سورس اطلاعات به فایل گزارشت معرفی میکنی و اون هرچی میخواد رو فقط میتونه از داده های موجود توی اون کلاس برداره و حالا این تویی که تعیین میکنی توی این کلاس چه اطلاعاتی و از کجای پایگاه داده ات و تو چه فرمت هایی اطلاعات قرار بدی.
خودم میدونم که دارم کلی جواب میدم ولی این دقیقا جواب سوال شماس حالا اگه سوال دیگه ای داری خوب بپرس تا اگه میدونستم اونم جواب بدم نگران نباش فرار نمیکنم ;-)

ermia2008
سه شنبه 18 مرداد 1390, 08:25 صبح
سلام
برای گزارشگیری همون نرم افزار IReport رو که دانلود کردید کافیه که در واقع یک UI برای کار با Jasper Report engine هست. بنابراین دیگه نیازی به پلاگین برای نت بینز ندارید.
مساله دوم اینکه برای اینکه گزارش ها پویا ساخته بشه شما میتونید هم داده ها را از طریق پارامتر ها با کدنویسی به فایل گزارش پاس بدید یا اینکه اگر اطلاعات داخل دیتابیس
هستن میتونید اینکار رو با پاس دادن یک DataSource از طریق کد این کار رو انجام بدید.


final JasperPrint print = JasperFillManager.fillReport(report, parametersMap, new JREmptyDataSource());

در اینجا parametersMap یک Map هست که پارامترهای گزارش رو مشخص میکنه و JREmptyDataSource یک دیتاسورس خالی هست که اگه
شما اینجا با دیتابیس خاصی کار میکنید باید دیتاسورس رو اینجا قرار بدید.
نمونه هاش داخل اینترنت هست. گوگل کن پیدا میکنی
موفق باشید

sorroshsaket
شنبه 22 مرداد 1390, 22:41 عصر
فکر کنمبا این مثال با Ireport بهتر آشنا شی
import net.sf.jasperreports.engine.*; import net.sf.jasperreports.engine.design.*; import net.sf.jasperreports.view.*; import net.sf.jasperreports.engine.xml.*; public class MyiReportViewer extends javax.swing.JFrame { /** Creates new form MyiReportViewer */ final String JDBC = "com.mysql.jdbc.Driver"; final String DB = "jdbc:mysql://localhost/afemdb?user=root&password"; private Connection con; /** Creates new form NewJPanel */ public MyiReportViewer() { initComponents(); try{ Class.forName(JDBC).newInstance(); con =DriverManager.getConnection(DB); } catch(Exception e){ } } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jButton1 = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstan ts.EXIT_ON_CLOSE); jButton1.setText("jButton1"); jButton1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jButton1MouseClicked(evt); } }); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout .Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(95, 95, 95) .addComponent(jButton1) .addContainerGap(230, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout .Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(72, 72, 72) .addComponent(jButton1) .addContainerGap(205, Short.MAX_VALUE)) ); pack(); }// </editor-fold> private void jButton1MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: try{ //JasperDesign jasperDesign = JRXmlLoader.load("C:\\Documents and Settings\\Lelou\\Desktop\\presentation\\Instructor Questionaire.jrxml"); //JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign); //JasperViewer.viewReport(jasperPrint, true); JasperReport report = JasperCompileManager.compileReport("C:\\Documents and Settings\\Lelou\\Desktop\\presentation\\Instructor Questionaire.jrxml"); JasperPrint print = JasperFillManager.fillReport(report, null, con); JRViewer viewer = new JRViewer(print); viewer.setOpaque(true); viewer.setVisible(true); } catch(Exception e){ } } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: // try{ // JasperDesign jasperDesign = JRXmlLoader.load("C:\\Documents and Settings\\Lelou\\Desktop\\presentation\\Instructor Questionaire.jrxml"); // JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign); // JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, con); // JasperViewer.viewReport(jasperPrint, true); //JasperReport report = JasperCompileManager.compileReport("C:\\Documents and Settings\\Lelou\\Desktop\\presentation\\Instructor Questionaire.jrxml"); //JasperPrint print = JasperFillManager.fillReport(report,null, con); //JRViewer viewer = new JRViewer(print); //viewer.setOpaque(true); //viewer.setVisible(true); // } // catch(Exception e){ //} } /** * @param args the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new MyiReportViewer().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JButton jButton1; // End of variables declaration }
اگه خوب بود با تشکر تائیدش کن :چشمک: