showifempty = false doesn't work (rowtablearea2)

Hello fellow natural developers!

I’ve created a layout with a rowtablearea2 nested inside a rowtablearea2, see → layout.png

The data structure for this concrete example looks like, see → data.png
(but the structure needs to be dynamic in both axis, for all other query-results)

My problem is that the second rowtablearea2 displays the empty rows although showifempty is set to false, see → example.png

Am i missing something or is it just not possible to hide empty rows in a 2-dimensional setup?

Thank you for your help in advance!

Greets Jakob



Hi Jacob,

I think the problem relies on the way the subline grids is populate, specifically on its resizing.

Somewhere in your code in order to populate subline grids you have to resize them, so you possibly do something like the code below:

FOR #I
EXPAND ARRAY LINES TO (1:#I)

FOR #J
EXPAND ARRAY SUBLINES TO (*,1:#J)

END-FOR
END-FOR

Notice we cannot change * by #I , if we do that we receive the error message " NAT0728 Keyword * (keep the bound of a dependent dimension) ". That means all the subline grids will get the same number of lines of the iteration that returns the highest number of lines…

In your example, all the subline grids have 5 lines because the highest one has 5 lines. Try to put the highest one with 3 lines, you will notice all will get 3 lines.

That is the only way i know to resize a nested array, if someone else know another way to do let me know, i will appreciate.

Jacob,

I was thinking, you can change the component that is used as subline grid. You can use a textgrid instead of rowtablearea2. This will remove the gray lines that surround the columns and with this improving the grid visualization.

For instances, take a look at both file: layout tree.png and runtime.png


Layout tree.png