Sometimes we need to pass one or more parameters to our report. For example, we may need to generate a report for some items with a spesific category or price. Based on our previous tutorial, we're going to make a report to view the contacts list with a certain address. For this tutorial, you have to create a new report.
Adding New ParameterYou need to specify address as a parameter, so click on View menu, then click Parameters. Click New to add new parameter. Give a name for your new parameter and specify its data type. For example, I give the name PRM_ADDRESS for this parameter and its data type is String. After that, give a check mark on Use as a prompt option. You can see the picture below for a clearer information.
Create Report QueryAfter you create a new parameter, you have to create report query based on that new parameter. How we do this? Click on Data menu, then click on Report Query. In the query text box, type this SQL command: SELECT * FROM contact WHERE address=$P{PRM_ADDRESS}.
As you can see the $P{PRM_ADDRESS} represents the parameter that you've made before.
After that, you have to design the report. The report's layout is up to you now. I will not talk about how to design the report here because I have talked about it in the previous tutorial.
Write Your CodeLet's write the code! Same like the previous tutorial, I'll give you all the code so you can copy-paste and modify it if necessary.
Execute It!
Final step is execute your program. Don't forget to set the CLASSPATH. If you forget how to do that, you can see the previous tutorial right before this one.
14 comments:
hi, this tutorial helps me a lot when post 1 param..
but i dont understand how do we post more than 1 param?
Try this:
Map<String, Object> param=new HashMap<String, Object>();
param.put("param1", txtParameter1.getText()); param.put("param2", txtParameter2.getText());
Where txtParameter1 and txtParameter2 should be the existing text field.
Hi friend,
This tutorial is very helpful for my requirement, any doubt in future i will surely post you.
Hi,
Would like to know if there is a way to populate the dropdown list (for selecting the passed parameters, pulling these by querying the DB)..?
Hi Abdul,
You can query the table which you want to add its records to your ComboBox. Then, you can loop through the result and use the addItem() method (you can pass a string as its parameter). This method is available in JComboBox class.
help me please, how to calling report from URL with parameter.
ex.
"http://localhost:8080/report.jasper"
Hello Bogeyman. Can you please tell me, how to pass a parameter to a jasper report, where the parameter should be like: WHERE id IN ($P{ParameterList}) ? /Jakob
Thank you, thank you, thank you. I have been looking EVERYWHERE on how to map parameters. You have really helped!!!
Thanks,
Philip
Indeed this is a valuable code.
Hai, my name is fitri. I allways use ireport for adempiere with windows os. But when i want to run it in linux, my report null. can u help me?
I guess this is best tutorial I've found after looking all over the net!
Thanks a ton for helping out people!!!
hello,
I m Amit.
I m new in ireport. I have created .jrxml & .jasper files. I working on my web app. project. On my jsp page their are 2 drop down menu say "start date" & "end date" & one button "Get Report", when i clicked on this button is should give the report contains record between start & end date.
So plz help as early as possible.
Thank You
Email-ID - amit9_s@yahoo.com
can you give tutorial for creating report with jtable.
Hello Bogeyman,
We have developed a new gen developer friendly BI framework with some extremely unique features. Would like to give you early access & love to hear your opinion. Please do let me know of how to reach out to you. Would be launching product in 1 week from now.
Also could you please share your email details for further communication.
Regards,
Anugraha
Post a Comment