I've used them both, but I can't seem to find any advantage to Report vs Grid.
Grid gives the developer much more options and flexibility, and I didn't find any place that really compares pros and cons for each.
Any Reason to use Report over Grid?
Thanks
I developed a set of applications in APEX from 5.1 to 19c and I'd like both, IG and Reports, however I use them in different scenarios:
Obviously if you want a IG for manipulation of data, then IG is your only option.
If you want a Report, but you want to give the user endless options with it like download the content in csv, apply filters, create rules with the data visualisation like applying colours to rows that match different criteria. Then IG is your option
If the report is static and you don't want any interaction on it, then use Report, it is much better for this scenario.
Hope it helps!
I use
reports for reporting purposes - let users view data
interactive grids to view data in a grid, along with possibility to edit existing values or add new rows right here
Although you can make both do what the "other" does (with more or less effort), their "natural" roles are as I previously said. To me, at least.
OK I found one big advantage to working with Interactive Report, when working with Files/Images.
Grid does not contain "Download BLOB" nor "Display Image" options in types, which makes it really hard to work with, and creating many compatibility problems.
I've wasted 2 days trying to work with files in Grid but still failed, while in Report I managed to do that in a couple of hours and it works.
For all other types, I guess Grid is better.
Related
We have a request from our designers to build tables something like this, with rows that expand to show essentially another sub-table underneath. In KendoUI documentation, this is called "Hierarchy."
We use SlickGrid v2.3 with a few additional plugins. We currently have tables with a similar row expand/collapse like this: https://mleibman.github.io/SlickGrid/examples/example5-collapsing.html . That does not allow for a completely different set of columns in the sub-table.
The question is, can this be done in SlickGrid or not?
It might be hard to do with current SlickGrid, there's no code that handles the hierarchical part itself so that would be lot of work to implement in SlickGrid. However it is implemented in Slickgrid-Universal, which is a wrapper on top of SlickGrid. You can see Example 5 and Example 6 which shows 2 types of Tree Data grids (hierarchical or parentId refs). We use it in production for a project that we have. Also note that this is not a grid within a grid, it's rather an expand/collapse the same as what you found in example5-collapsing.html, the only differences with SlickGrid is that Slickgrid-Universal has the code to deal with hierarchical data (filtering/sorting) while SlickGrid itself doesn't and also another nice to know thing is that expand/collapse is actually using data filtering behind the scene and you can see that in the total items displayed when you have the footer enabled.
Please note that I'm the author of Slickgrid-Universal and also a major contributor to SlickGrid as well
At the moment, it can't be done. In order to achieve its speed, Slickgrid enforces a fixed row height and a single scrolling canvas. It's just a different approach than used by HTML display grids.
You could put together a workaround using mutiple slickgrids or an embedded slickgrid in a group row, I suppose, but it would be messy.
One thing I have done is develop a SlickCombo, which is essentially a grid presented as a multi-column dropdown. It's a full grid and can offer editing.
That's probably as close as you'd get.
A comment: the MLeibman repo is long dead - you should be using: https://github.com/6pac/SlickGrid
I have a report and want to fix it to 1 page (A4) regardless of the number of rows in the table. Usually it's 10 rows but can be more in some cases.
Anyway I need to use BIRT in a fixed context (3rd party application), eg. no option to adjust the BIRT viewer or url params. Therefore how can I add this option to my report design so that it is applied automatically?
I don't think it is possible to force a render option from the report-design. If it was it would probably achieved by using this code fragment from "beforeRender" script of the report:
importPackage(Packages.org.eclipse.birt.report.engine.api);
reportContext.getRenderOption().setOption(IPDFRenderOption.PAGE_OVERFLOW,IPDFRenderOption.FIT_TO_PAGE_SIZE);
I tried it, it appears at this stage the BIRT task has already applied render options and therefore this new value is ignored.
If you have access to the source code of this third party app it is quite easy to add a "Fit to" PDF render option.
Otherwise you will have to change the report-design and make it a little bit more dynamic: there are many design tips allowing to fit a report in a single page, one of them is to change the height of some items by script depending on the number of rows of the table.
For this specific project, my team and I are thinking of leveraging the power of AngularJS directives and use them to build custom elements specific to our project, and use them like they were real HTML components.
For instance...
Say we have this table where each row is composed with a bunch of information that we get from a request, each row will be repeated with ng-repeat. Inside each row we will have multiple custom buttons with the same custom behavior. This button will also be used across different modules/pages on the website and not only on this specific table.
Our first thought was to use 2 directives, one for the table row and one for the button. The idea is that these are custom components/elements with custom attributes to define the custom behavior of the element. This would allow us to have a really nice modular application where each component is developed and unit-tested individually. Our HTML would also be easy to ready and understand.
Does this sound good?
Now, what about performance issues? Could we encounter big issues with this approach if, say we have a table with 100 of those rows and 5 of those buttons per row. Could this be big a problem if those rows/buttons had a couple of bindings to update information each X seconds?
The father of Angular Misko Hevery has this to say about performance and data-binding:
How does data binding work in AngularJS?
But in short like he says as long as you dont have more than 2000 data-bound items per page performance wont be an issue...
We have a report developed in another tool that the user exports to Excel to manipulate the data. In the old tool, the columns are being saved in the same order as the dataset returned by the stored procedure. But in SSRS the columns sort is changed to the order that they are displayed on the screen. The user is a nut case and can't convince her to change the order of the columns on the screen report to match her old report sort, but on the other hand does not want to adapt to the new column order. Unfortunately the easiest solution (i.e. replacing the user :-)) is not implementable. Is there a property that I can use to change the sorting on the columns when they are exported. Without knowing much about it, I imagined ZIndex would have done something like that. But it is set to 0 and disabled, so I can't change it's value.
Thanks
I know it's years later but for the benefit of anyone who is in this predicament, a similar idea: in the same report, you create another tablix that will be your "output" tablix, where you arrange things as you please using the same dataset. Make this tablix with visibility hidden, and set it to "output" as necessary. Turn off all outputs from the first tablix. So you have basically a ghost tablix that only works when you export to csv.
I have a section that contains a subform ( containing 3 editable fields for the user ).
Then I have an embedded view categorized having two actions: Add and Trash.
What i want to do: After the user complete the 3 fields and then press Add, the first row in the embedded view will appear. ( This easy thing I did ). But then after the first click on Add, I want that all the 3 fields to be refreshed, all of them to have as their value: "".
After, if the user wants to add another row into the embedded view (with different values), in my case it is overwrited on the 1st row. I want to be separate rows in order.
I tried something with #Command(ViewRefreshFields) into the Add action code but I didn't make it to work. Please help, J. U.
Jazir, I'm guessing that you also go by the names "Florin G Mihalache", "Josh Mitchell" and "Yveniss Ltoreau", and I've been following the development of your application along with many other professional Notes developers.
I really think you need to go back to the very first basics, and work out the difference between forms, subforms, documents, views, embedded views, and other important components of Lotus Notes databases.
I strongly suspect that for a couple of weeks you have been trying to use a form to create other documents, via a subform, to be displayed in an embedded view in that form, when what you should be using is just a view, and documents. Perhaps you might need to use pages, outlines and framesets. It is very important that you understand these basic concepts before confusing the people who have tried to help you, to whom you may have lied.
I have voted your question down, not just because you have shown a lack of research, but because you appear to keep switching ID when people lose patience with you. I will undo that vote if I become convinced that you are not Florin.
The documents displayed in an embedded view are controlled by the view's selection formula. You haven't shown that. You haven't shown your code in the Add button. You haven't shown what properties you have set on the embedded view -- e.g., show single category. So you're not giving us quite enough info to diagnose your problem and help you.
But in general, I think that if you want to control the order of insertion of individual documents into an embedded list, perhaps using an embedded folder would be a better idea than an embedded view.