Repeating_panel and reference

In returning the rows (1 text , 1 reference) from a table into from:
self.repeating_panel.items = anvil.server.call('get_rows))
i always see :
<LiveObject: anvil.tables.Row> Has an Ibanez acoustic circa 1980
<LiveObject: anvil.tables.Row>. graduated from Geneseo in 2

how do i traverse the reference properly to get at the data in referenced table

Hi @jbrow57! Welcome to Anvil and to the Anvil Forum!

I’m not really sure what is your question… Are you saying that the data from Table Row is not properly displaying in your repeating panels?

If this is your problem, did you try using Data Grids? When you add a Data Grid you can remove the 3 default columns it starts with, the click on “Add Columns from Data Table” and select the data table that you wish to show data.

Anvil will automatically create the columns from the data table as columns in the data grid. The Data grid structure has a repeating panel inside. Setting the items property of the data grid with a search iterator of that grid will automatically display the data inside the data grid.

I recommend you reading more in the Docs for Data Grid:

If you don’t want to use data grids you can edit the template for the repeating panel you added. The template will have a item property accessible with self.item.

You can then put components in the Template and use data binding to bind values from the item to them.
For instance, if you want a Label to display the content of the Column “A” of the data table you would use a code:

self.label.text = self.item['A']

You can read more about Repeating Panels here:

Other Links:

1 Like

This response to a similar question may also help:

Sorry , i’m terrible at describing problems , here is a clone link:
https://anvil.works/build#clone:V4TGB4NX4GP7WZEA=UFMO4DFGEOH7DTXU753CIWB6

1 Like

You’re seeing the live row reference because one of the fields in your table is a link to the Users table. To avoid seeing that, put a label into that spot in the row template, and then use data binding to bind the text property of that label to one of the field in the Users table, e.g. self.item[‘email’].

1 Like

thanks a milion , i put a label in the row template but had to set up the binding
this way to achieve: self.item[‘Person’][‘name’]

it works !!!

3 Likes

Hi @jbrow57! If @jshaffstall’s answer solved your issue, can you mark his response as the solution (by clicking the dots menu, then Solution)? That way if others are searching the forum for a similar issue, they’ll see that it’s been solved!

yes i will , thanks for the instruction

Sorry if I jumped the gun, but I marked the Solution for you, thinking you might have lost track of this by now.

Sorry , i thought i had marked the solution,

1 Like