I have requirement to aggregate few columns value in summary row of nattable which I was able to do using summary_provider, but problem is that row is not visible all the time and I have to scroll till the end to see aggregate value.
Is there any way to freeze summary row?
You can do this by creating a layer composition with a FixedSummaryRowLayer like shown here https://www.eclipse.org/nattable/nandn/nandn_120.php
How such a composition would look like depends on your already existing layer composition, whether you have a grid or a simple table layout. But both cases are explained in that link and you find examples in the NatTable Examples Application
Related
I want to know if we can do combination filtering in ag grid. Some volumn filtering on client and some on server. is that possible?
I was checking adaptabletools website they have built similar feature with serverOptions.link below. I was trying to achieve similar thing via ag-grid api. Can you please advise
https://api.adaptabletools.com/interfaces/_src_adaptableoptions_searchoptions_.searchoptions.html
Update on this question as I developed AdapTable which the OP refers to in her question.
We DO enable and facilitate server-side searching, sorting and filtering while keeping ag-Grid in ClientSideRowModel mode and many of users take huge advantage of it.
You can learn more at:
https://docs.adaptabletools.com/docs/key-topics/server-functionality
However note that this is suited to the use case where you have a few hundred thousand rows and want to have the best of both worlds; if you have millions of rows of data that needs searching and filtering then you should use ag-Grid's Server or Infinite Row Models (both of which AdapTable fully supports but in different ways to that mentioned in the OP).
Well Client-Side RowModel is the default. The grid will load all of the data into the grid in one go. The grid can then perform filtering, sorting, grouping, pivoting and aggregation all in memory.
The Server-Side Row Model builds on the Infinite Row Model. In addition to lazy-loading the data as the user scrolls down, it also allows lazy-loading of grouped data with server-side grouping and aggregation. Advanced users will use Server-Side Row Model to do ad-hoc slice and dice of data with server-side aggregations.
Ideally developer should choose either of them. Also AG Grid doesn't allow any method to set RowmodelType type programmatically.
So the simple answer is no it can't be done easily.
But I think you can do some workaround by creating another hidden AG Grid which will be created with RowmodelType = 'client side'. update the data in this 2nd grid whenever data changes in the first grid. also switch between grid(using hide show logic) when user wants to filter on client side(may be you can provide a radio button for that) and you can set filterstate/columnstate etc.. settings from 2nd to 1st grid.
I have a very large set of data that I'm rendering using ag-grid. Without going into too much detail, some elements in the data set have references to others and should be displayed in the grid if the element they are linked to passes the filters that are currently applied. So if element A is linked to element B, element A should display if B passes the filters, whether A passes the filters itself or not.
Is there a built-in way to do this with ag-grid without making custom filters for every column? I believe I could just make every column filter by the 'parent' element's values in the case of these linked elements, but that would take a lot of work and I'm wondering if there's a better way.
Additionally, these linked elements would appear in the grid right below the element they're linked to, so for all intents and purposes they would be treated as equal to their parent elements in the case of sorting.
It seems like this kind of functionality might be possible with rowspanning, but ag-grid's rowspanning seems a little clunky to me, in that the documentation itself says that sorting and filtering will behave weirdly when rowspanning is used. Also, implementing rowspanning with ag-grid seems pretty counterintuitive so I would like to avoid it if possible.
(using ag-grid with Angular 6)
I am trying to create a table in a PDF document with itext7. But, if the content before the table is too big, the table gets split up between current page and next page. I want to insert a -
document.Add(new AreaBreak())
if there is not enough space left in the current page for the table to be inserted completely. However, I have no idea on how to calculate the available space.
Any help or pointers will be highly appreciated.
From your requirement to avoid page-break inside the table, I assume Table#setKeepTogether(boolean) is exactly what you need.
This property ensures that, if it's possible, elements with this property are pushed to the next area if they are split between areas.
This is not exactly what you have asked, however it seems it's what you want to achieve. Manually checking for this use case might be tricky. You would need to have a look at renderers mechanism and inner processing of iText layout in order to get available space left and space needed for the table. You would also need to take care of the cases like if table is to big to be fit on single page. Also #setKeepTogether(boolean) works when elements are nested inside each other.
I am working in a table with multiple data inside. When I add only the header, I can see the data in a good way, and the columns with different sizes.
But when I add the data, all the columns go crazy, the widths are adjust to the headers, and the data dissapear.
How can I get to show every data in the proper way?
You need to derive table and override the method to create a cell then after a call to super set it to not end with 3 points.
You can also override the create constraint method and define percentages for the specific columns although this might not look good for all resolutions.
As a side note we made quite a few improvements to Table in Codename One and integrated basic Asha support as well.
First post. I'm still reading the iOS Human Interface Guidelines and haven't come across this scenario, yet. When displaying multiple columns in a table, what is the appropriate indicator to the user that they can change the column used for sorting?
Well, the UITableView is a one-column table. So, you can usually not change the sorting. I'd recommend reading the Table View Programming Guide. It says right at the beginning:
A table view has only one column and allows vertical scrolling only. It consists of rows in sections. [...]
I have the same challenge. I'm showing a single list of customers, each having a unique number and a descriptive name. I've added a segmented control to the middle of my toolbar that allows the user to sort by name or number.