Code Generated DataGrid Question

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)

You might look at how @stefano.menci did it in his dynamic data grid component: DataGridJson - A DataGrid with quick simple setup

2 Likes

@jshaffstall you rock man! That’s what I need :grinning: