Как настроить динамическое c условное форматирование ячеек в Da sh - с датой - PullRequest
0 голосов
/ 23 марта 2020

Sup! Я новичок в да sh. Столкнулся с проблемой: у меня есть таблица данных со значениями, которые я обновляю входами через обратные вызовы. Они работают как

data = pd.read_excel('Sample.xlsx')

app_layout=html.Div([
    html.Div([dcc.Input(id='salary_budget_2020', type='number')]),
    html.Div([html.Div(dash_table.DataTable(
                                        id='dinamic_table',
                                        columns=[{"name": i, "id": i} for i in datafortable.columns],
                                        data=datafortable.to_dict("rows")))])
])


@app.callback(dash.dependencies.Output("dinamic_table", "data"),
              [dash.dependencies.Input("salary_budget_2020", 'value')])


def update_table(salary_budget_2020):
    datafortable = data.copy()
    datafortable.at[8, '2020'] = datafortable.at[8, '2020'] - int(salary_budget2020 or 0)

    return datafortable.to_dict('rows')

Что я хочу сделать, это настроить условное форматирование ячейки на основе результата сравнения между исходным и обновленным значением. Я нашел 'filter_query' в документации, но он не работает с моей переменной обновленного значения.

Мне нужно иметь возможность сравнить исходное значение в datafort.at [8, '2020'] и datafort.at [8, '2020'] - int (salary_budget2020 или 0), чтобы иметь возможность изменить цвет фона, если datafort.at [8, '2020']

{'if': {'column_id': '2020',"row_index": 8,
'filter_query': 'datafortable.at[8, '2020']  < datafortable.at[8, '2020'] - int(salary_budget2020 or 0)},'backgroundColor': '#3D9970','color': 'white'}

Есть ли способ закодировать это?

...