Row and Cell Clicks

Apply interactive affordances and handle rowClick and cellClick payloads in callbacks.

Row and Cell Clicks

Apply interactive affordances and handle rowClick and cellClick payloads in callbacks.

Source: usage.py::build_row_click_code(), usage.py::build_cell_click_code().

Row Click

table = (
    dmdt.DataTable(
        id="interactive-row-click-table",
        data=EMPLOYEES[:6],
        columns=INTERACTIVITY_COLUMNS,
        paginationMode="none",
    )
    .update_layout(radius="lg", withTableBorder=True)
    .add_interactivity(
        rowClick=True,
    )
)

@callback(
    Output("interactive-row-click-output", "children"),
    Input("interactive-row-click-table", "rowClick"),
)
def show_row_click_payload(payload):
    return json.dumps(payload, indent=2) if payload else "Click a row to inspect the payload."

Cell Click

table = (
    dmdt.DataTable(
        id="interactive-cell-click-table",
        data=EMPLOYEES[:6],
        columns=INTERACTIVITY_COLUMNS,
        paginationMode="none",
    )
    .update_layout(radius="lg", withTableBorder=True)
    .add_interactivity(
        cellClick=True,
        cellSelector=["name", "status"],
    )
)

@callback(
    Output("interactive-cell-click-output", "children"),
    Input("interactive-cell-click-table", "cellClick"),
)
def show_cell_click_payload(payload):
    return json.dumps(payload, indent=2) if payload else "Click a Name or Status cell to inspect the payload."