BIRT - How does Data Binding works? - reporting

I'm trying to create my first BIRT report and this data binding thing is confusing the bejeezus out of me.
So I have a data set that's working.
I right clicked my table and selected edit data bindings. I put in display names for all of my columns and changed the datatypes.
That seems to have been saved. But nothing appears on the report.
I then tried dragging columns from my dataset onto the detail band of the table, and when I do that BIRT brings up a (different?) data binding editor where it doesn't have any of the changes I made, and I'm not sure what I'm supposed to do with this one.
Could someone explain to me the basic process of getting my dataset to show up on a report table, and what all this data binding stuff is supposed to do?

Have you been through the tutorials? They answered most of my basic questions, including your other q about templates.

Related

Form and Report on same page (Form as detail of selected report page)

I am curently moving my small business app from ms access to Oracle Apex 20.
What I need is a page that shares both the report where I would select a row with record and form element at the top of page that would show details of the record.
Can someone give me an advice on how to start? I tried creating a blank page and inserting report and form elements manually but I am getting error No Primary Key item has been defined for form region rep7.
I suspect I need to connect the form and report with primary keys but don't know how. Closest I've been to solving my problem was watching this:
https://www.youtube.com/watch?v=H-hoMcMIs9g&ab_channel=MostafizMitul
but I couldn't quite decipher it.
Thank you
Jakub
The way you described it, it is a page whose type is Master Detail. Just follow the wizard, it'll create everything for you.
True - you can do it yourself, manually, but - why reinventing the wheel? The whole idea of Apex is to make things simpler for us, developers, to save us from boring actions we'd repeat over and over again. Let the wizard do it!

Data table distorts after refreshing data

I have a data table that represents data like this:
after clicking the edit marker (pencil icon) i can edit some fields. The fields need to be validated and if it fails the fields have to reset. I do this in the managed bean of the view using p:ajax event="rowEditInit" to save the attributes before saving and ajax event="rowEdit"to do the actual validation. if validation fails i return the previously saved values. if validation is correct i save the data to the database and load the collection again. Then i
RequestContext.getCurrentInstance().update("vesselBalticSegmentCreateForm")
to reload the view.
Doesnt matter if the validation fails and i set the values back or it succeeds and i save/reload data the table breaks becoming like this:
seems to load only the edited row. and loads both edit/list modes.
any ideas what i'm doing wrong?
The primeFaces RowEdit functionality already updates the row, also updating the table does by design not work (not sure if it is intentional, but that is just how it is). I know there is a duplicate of this Q/A on stackoverflow, I just do not seem to be able to find it. Someone might be able to create a patch/workaround, e.g. try on the prerenderview event to remove the id's of id's in the individual row that was edited. I don't have the time to try to create one.

Report Builder 3.0 Exporting to Excel

I have created a layout that works just fine. However, when I export it to Excel, the data starts in column C. Another person in our department has created a different layout. When they export their reports to Excel, the data starts in column B. I've looked at both layouts and don't see any difference.
I would like to get my reports to display data in column B as well so we are consistent.
Any suggestions would be appreciated. Thanks for your help.....
Probably the answer is that the table in your report does not start at exactly the 0,0 position. Select it and in the Properties panel on the right hand side scroll down to Position, make sure location says "0cm, 0cm".

jqGrid issue - getRowData

I seem to be havign yet another problem with jqGrid :-( I am trying to get the current row data using getRowData, but all I get back is an array [object, Object]. What am I doing wrong?
This is what I'm using
var rowdata = $("#list").jqGrid('getRowData');
Can somebody help?
thanks
After reading in the comments additional information about your problem I would recommend you following.
If you need to print the page which contains jqGrid you could need to prepare additional CSS for media="print". See here for additional information.
The method getRowData called without parameters give back the array of rows which are array of visible cells. For every cell will be called unformatter, so the data could be not identical to to data which you posted to jqGrid. Moreover if you use data paging or filtering you can have another problem: only visible cells from the current page will be returned back.
I personally prefer to use export to Excel instead of printing the pages. In the case I add an custom button in the navigator bar. If the button will be clicked by the user the request to the corresponding MVC controller action will be sent. The server get all data for the corresponding grid from the database and generate XLSX Excel data as stream with respect of Open XML SDK. The corresponding code is not very small, but in the way one can generate perfect Excel file formatted like it is required. In the case you don't need install Microsoft Office on the server side. The user just opens Excel with all data if he/she clicks the "Export to Excel" button in the jqGrid. In Excel there are very good printing possibility. The most users knows Excel very good and can customize the data (hide some columns for example) before printing.
So my suggestion to you to spend some time in implementing export to Excel instead of implementing printing of jqGrid directly.

RDLC - Adding a Data Source in VS2010

Greetings.
I have an RDLC file and am wanting to add a data source to it, although without any luck so far. The data source is a custom class written by myself (just to add, we do this all the time). We recently converted over to the VS2010 RDLC format which caused some problems, but we've made some changes to our implementation that workaround the more major issues.
So, back to the issue at hand, when I attempt to add my data source to the DummyDataSource list in the RDLC view in VS2010 it just does nothing, however it does add the data source to the list of data sources, but you can't select it from the drop-down list in the RDLC view which means I can't add the data source at all.
Has anyone come across this problem? Is there anything I need to check? I've searched with fervour and had no luck.
There seems to be a bit of black magic going on here. Or at least I haven't figured out all of the incantation to make this happen reliably.
I think I was having a similar problem. Not sure if this will help you, but here's how I got around it.
In the VS2010 report designer, use view->Report Data to show the Report Data pane.
Click the New button and choose Dataset... to get the Dataset Properties dialog.
Name your Dataset, if you've done this before, you probably know that the dataset name here needs to match the name provided in code when you bind your ReportDataSource.
The new part that I just tried, is to click the New... button next to the Data source drop down list. The resulting wizard walks you through selecting your assembly and CLR class (use the checkbox to select your class).
When the wizard finished, my new dataset appeared.
One thing to note: The first time I tried to reproduce this, the wizard completed without adding my dataset. I went back to my class definition and decorated it with [DataContract] and [DataMember] attributes and then re-ran the wizard and it seemed to work great.
Perhaps someone with deeper knowledge can comment on why those attributes make this work, or why the wizard fails silently without them.
Your data source object must include a native data type as a property on the class, otherwise it doesn't let you add it. Funny, eh!
I could not add the datasource, after following the wizard (new button) the data source did not appear in the drop downlist.
What I did was add a property with a primitive type VS class and then proceeded to show the correct data source.
Strange to have to do this, but I found another way.
If you are using a stored procedure, replace everything inside the procedure with one row select using no source tables/functions. I couldn't get it working with a stored procedure that returned data from temp table or normal table either.
I have seen this happen when your final select in a Stored Procedure pulls from a temp/memory table. You have to fake the designer out by adding a dummy select 0 AS mycol1int, '' AS mycol2string, etc. Once you have created the Dataset, you can then remove that dummy select. Another marvelous, fabulous feature in VS! They own the DB, they own the IDE, but...
If added data source object is not shown on ReportData then:
1. Right click on rdlc and click open with
2. Select xml editor
3. add your needed dataset by hand.
After this refresh ReportData and you will see the datasource object on the list.

Resources