突出显示 Dash 数据表中的选定行
Highlighting selected rows in a Dash datatable
我只想突出显示 Dash 数据中的选定行table,但我只能让它突出显示 table 或 none 中的所有单元格。我尝试使用的 app.callback 是从代码修改而来以突出显示选定的列 (found here):
@app.callback(Output('datatable-interactivity', 'style_data_conditional'),
[Input('datatable-interactivity', 'selected_rows')])
def update_styles(selected_rows):
return [{'if': {'derived_virtual_selected_row_ids': i}, 'background_color': '#D2F3FF'} for i in selected_rows]
我相信您的条件应该是检查 row_index
而不是 derived_virtual_selected_row_ids
。
当我最初查看 plotly 的文档时,我 运行 遇到了类似的问题。您必须在 table 的数据中包含一个“id”key/value,您可以使用它来唯一标识该行数据。您还需要在 if 语句中使用“filter_query”。请参阅下面的示例。
@app.callback(
Output("table", "style_data_conditional"),
Input("table", "derived_virtual_selected_row_ids"),
)
def style_selected_rows(sel_rows):
if sel_rows is None:
return dash.no_update
val = [
{"if": {"filter_query": "{{id}} ={}".format(i)}, "backgroundColor": "#404040",}
for i in sel_rows
]
return val
我只想突出显示 Dash 数据中的选定行table,但我只能让它突出显示 table 或 none 中的所有单元格。我尝试使用的 app.callback 是从代码修改而来以突出显示选定的列 (found here):
@app.callback(Output('datatable-interactivity', 'style_data_conditional'),
[Input('datatable-interactivity', 'selected_rows')])
def update_styles(selected_rows):
return [{'if': {'derived_virtual_selected_row_ids': i}, 'background_color': '#D2F3FF'} for i in selected_rows]
我相信您的条件应该是检查 row_index
而不是 derived_virtual_selected_row_ids
。
当我最初查看 plotly 的文档时,我 运行 遇到了类似的问题。您必须在 table 的数据中包含一个“id”key/value,您可以使用它来唯一标识该行数据。您还需要在 if 语句中使用“filter_query”。请参阅下面的示例。
@app.callback(
Output("table", "style_data_conditional"),
Input("table", "derived_virtual_selected_row_ids"),
)
def style_selected_rows(sel_rows):
if sel_rows is None:
return dash.no_update
val = [
{"if": {"filter_query": "{{id}} ={}".format(i)}, "backgroundColor": "#404040",}
for i in sel_rows
]
return val