What I’m trying to do: I successfully added a datagrid component via code. The datagrid’s repeating panel is displaying data from a fetched native-table. I would like to add another column (or two) with an edit link and trash link. Is this possible in conjunction with fetching data from a native-table?
What I’ve tried and what’s not working: The first code block works well for displaying the datagrid and repeating panel with data. The second code block is my attempt at adding an edit link to a column, however, I’m fairly certain I need to add the edit link column to the repeating panel - this is the part I need a little assistance with…
First Code Block:
def link_lookup_activities_click(self, **event_args):
get_open_form().panel_main.clear()
activities_dg = DataGrid()
get_open_form().panel_main.add_component(activities_dg)
activities_dg.columns = [
{ "id": "A", "title": "Activity", "data_key": "activity" },
]
activities_rp = RepeatingPanel(item_template=DataRowPanel)
activities_rp.items = anvil.server.call('fetch_record', 'activities')
activities_dg.add_component(activities_rp)
Second Code Block:
def link_lookup_activities_click(self, **event_args):
get_open_form().panel_main.clear()
activities_dg = DataGrid()
get_open_form().panel_main.add_component(activities_dg)
activities_dg.columns = [
{ "id": "A", "title": "Activity", "data_key": "activity" },
{ "id": "B", "title": "", "data_key": "" },
]
# Add edit link
activities_row = DataRowPanel()
edit_link = Link(icon="fa:pencil")
activities_row.add_component(edit_link, column="B")
activities_dg.add_component(activities_row)
activities_rp = RepeatingPanel(item_template=DataRowPanel)
activities_rp.items = [
anvil.server.call('fetch_record', 'activities'),
activities_dg.add_component(activities_row),
]
activities_dg.add_component(activities_rp)