Da sh DataTable индивидуальное выделение с использованием style_data_conditionals работает необычно - PullRequest
1 голос
/ 08 февраля 2020

Утро,

Я работаю над проектом, используя Python3, Flask и Da sh. Я визуализирую таблицу CSV с помощью DataTable () из dash_table и хочу выделить несколько определенных c ячеек.

Соответствующим образом смоделировать документацию по стилю таблицы это можно сделать с помощью атрибута style_data_conditional внутри определения DataTable. [https://dash.plot.ly/datatable/style]

Моя таблица CSV выглядит следующим образом:

testclient, 0.40, 0.48, False, False, False, 0.14, True, True, 0.0, 2
raspberrypi, 0.20, 0.21, False, True, False, 0.18, True, False, 0.0, 3

При попытке доступа к первому столбцу все изменения стиля работают.

[...]
style_data_conditional=[
    {
        'if': {
            'column_id': 'hostname',
            'filter_query': '{hostname} eq "testclient"'
        },
        'color': 'green',
    }
],
[...]

Но при попытке доступа к любому другому столбцу строки, например, "ftp" или "http", он не будет работать, и даже если я использую параметр debug = True в app.run (...) вызов функции, я не получаю сообщение об ошибке.

[...]
style_data_conditional=[
    {
        'if': {
            'column_id': 'ftp',
            'filter_query': '{ftp} eq "True"'
        },
        'color': 'green',
    }
],
[...]

В DataTable () есть порядок атрибутов "style". ..

  1. style_data_conditional
  2. style_data
  3. style_filter_conditional
  4. style_filter
  5. style_header_conditional
  6. style_header
  7. style_cell_conditional
  8. style_cell

... но, как вы можете видеть, данный атрибут стиля является первым упомянутым в листинге.

Таблица определяется следующим образом:

content = dash_table.DataTable(
    id='table',
    columns=[{"name": i, "id": i} for i in df.columns],
    [...]

Есть ли у вас какие-либо подсказки, почему DataTable ведет себя так странно, просто изменяя column_id ? Надеюсь, вы поможете мне, было бы здорово использовать Flask и Da sh для этого проекта ^^

С уважением!

...