Passing Parameter in App Builder that is not a Row ID?

We are trying to pass a parameter with the App Builder to view a particular row in the database. Right now, when we pass the Row ID parameter, it works fine to find the record. However, instead of a Row ID, we wanted to pass another parameter in the URL that is in the database table (we have a unique key in a separate column). However, the app builder will not look up the field in the database when you pass a different parameter, other than the Row ID. Is this a current limitation? The only param you can pass that will work is the Row ID of the associated record? If not, how do you pass a param that is not a Row ID to have the page look up the record in the associated database based on the passed param? If you can only pass a Row ID, then I suggest adding this a new feature, to allow other Params besides a Row ID to be read from the Param, because very often you have related data in tables and you don’t necessarily have a linked field. In those instance, passing a unique id in the URL, which is NOT a Row ID, would get the record in the table and that is what you would want to pass. Thanks.

Good morning @ddsgad,

However, the app builder will not look up the field in the database when you pass a different parameter, other than the Row ID. Is this a current limitation?

In a “single row” data source, yes this is correct. You can either:

  1. Add a page parameter which resolves to the row ID, or
  2. Set a static integer yourself, so you always fetch a specific row ID, or
  3. Leave the field blank, and we’ll choose the first row in the table for you (which is useful if you’ve sorted the table a specific way).

However, instead of a Row ID, we wanted to pass another parameter in the URL that is in the database table (we have a unique key in a separate column).

Could you make use of our filters for this? Perhaps a combination of:

  1. Leaving the “Row ID” blank, so we choose the “first” row and
  2. Adding a filter on that unique key, and passing in the page parameter for that key as a filter value, like so:

Screenshot 2024-12-02 at 09.12.58

So long as 1+2 resolve to a single row, this should work for you.

I hope this helps, have a great day!

Cheers,
Peter Evans

1 Like

Thank you! Passing parameters via the filters works great. You might want to add that to your docs that you can leave the Row Id empty and just pass a param in the filter. It’s not clear.

That’s great to hear @ddsgad!

You might want to add that to your docs that you can leave the Row Id empty and just pass a param in the filter. It’s not clear.

My apologies, we can work on that. You can find the “missing row ID” mention on this page:

When you select the Get single row service type, you need to enter or map a row ID to retrieve a single row in a given table by its ID. Leave this value empty to return the first row in the table.

Cheers,
Peter Evans