Dynamic Tables without aggregate data, Just UI
43
Views
2
Comments
New
OutSystems UI

Hi everyone,

There have been times when I have to create a table just to add static information like in emails, or creating a calendar-like structure(my question). But on research I've found that, dynamic tables is not possible in OutSystems (refer answer from Kilian). However it can be faked. But can it be done without faking? I think NO.

But what if I only have a number, and I want to create that many columns(like in the image below). I could do this in PHP by looping <tr> and <td> and passing that number as the condition. I can't do the same in OS. I think this should be addressed as whenever there is a need to create a table structure, OS asks to add an aggregate which I don't want. I don't want to use containers and align them to look like a table.

The only way this can be done is by creating table using JS completely(refer Toto's Answer), but it isn't Low Code if I create a complete structure with code. Also the accepted answer in the same link explains all the work just to create a structure which is a lot.


Thanks,

Aman

2020-04-15 12-37-36
Daniël Kuhlmann
mvp_badge
MVP

Hi,

This is not really an idea, but a request for help, and should be posted on the forum.

Yes you can do the same in OutSystems. Use your piece of JavaScript and return the build HTML string, then use the HTML widget to inject it on your screen. 

My Forge component demo program, actually does this, so you can install it and inspect the code for inspiration.   If you install it and also install the demo you can look at the demo code:

https://www.outsystems.com/forge/component-overview/8079/reactive-html-sanitizer 

Regards,

Daniel

I'm sorry if it comes out like a help request, but this is an idea. 


Creating a table structure without utilization of aggregates should be there. 
Drag that widget, ask for column headers and row headers (with a list if dynamic, or a number), which then creates table of column headers' length X row headers' length.