Placing Records From Table B in a list Within Table A
Application Type
Reactive

Hello,

I have a table on the UI that is populated by an aggregate. The primary key of the entity that is the source in the aggregate is the foreign key for the second table. This second table can contain 0 to many records for each foreign key it is referencing. 

I am trying to display a particular field of these "many" records (label) to add to the UI placed table.

 The problem I am running into is that when I use a list widget inside of the first UI placed table, that is using the second aggregate as a source, I cannot get the list to use the ID of the row it is placed in to display only the list of items from the second table, that use that rows particular primary key. Instead, when I try to use GetFirstTable.current to filter my second aggregate, it only returns the top most value from the second table and populates every row with the same information. 

How can I get my second aggregate to know the Id of the row it is placed in?

mvp_badge
MVP
Solution

Hi Milos,

I would suggest you the following implementation for the mentioned use case.

Implementation Steps:

1) Define a Table widget and map it with the first aggregate, i.e. as per my example, it is - GetCustomers

2) Define a Block that does have a 

  • Input parameter called CustomerId
  • Based on the input parameter value, the Second aggregate, i.e. GetMoviesByCustomerID, filters the Movies list
  • Within the webblock, define the List widget mapped with the result-set of the GetMoviesByCustomerID Aggregate

3) Reference the Block (2) within the Table widget (1) record and pass the GetCustomers.List.Current.Customer.Id as the block input parameter value

See this sample app: ListWithinTable | CustomerMovieDetails

Example Objective: Show all the Movies selected/associated by/with the Customer


Refer to the attached .oml file


I hope this helps you!


Kind regards,

Benjith Sam

RWALabListWithinTable.oml

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.