How to pass TableRecord's row data on screen action

My Platform version : 10

Development IDE version: 10.0.1009


I have a screen with a normal tablerecords,

also a checkbox inside the tablerecords, on "OnChange" event of the checkbox, I tried to pass current record id (TableRecord's RecordId on the checkbox row). it always return 0.


any idea how I could pass the record id?



scenario 2:

since I could not get anything from scenario 1, then I tried to test using a button below the table records. when it's clicked I debug if I could get the tablerecords widget's record. it returns the list with the correct record number, but all records are empty.


attached is the example of my oml


thanks,

Daniel

Solution

Hello Daniel,

Every time you click in a row of a Table/List records and this triggers a request to the server (like the OnChange of your check box), the Screen Action will have access to everything in the Screen, including the YourTableRecords.List, the YourTableRecords.List.Current (that will be pointing to the row you clicked) and the YourTableRecords.List.CurrentRowNumber.

So, you don't need to pass anything of this as input parameters to the screen, as you have them automatically.

But why you are receiving empty data?

Because the platform is smart enough to avoid storing and sending data that you are not using. So, if you are not using these data yet in the screen action, the platform, when compiles your code, avoid storing it or sending back and forth to the server the information (that you are not using yet). It is an optimization, and the Debug does not remove those optimizations.

So, if you actually create the code that will use this information, and it starts to be used, you will see the values there.

Hope this helps.

Cheers.

Solution

Hi Eduardo, that's a spot on.


Thanks for the englightment,

exactly I put a feedback message return the current row record id, and it returns the correct result.