具有多个tbodies的Python Dash DataTable

问题描述 投票:0回答:1

我需要在动态更新的破折号DataTable中为所选行添加乘法tbody'或某种id,以便我将来可以使用CSS隐藏它们。有没有办法这样做? jQuery不是一个选项,因为它在动态页面加载时效果不佳。所以css hide()是唯一的选项,但是我找不到像jQuery一样的行文本。先感谢您!

python html css plotly-dash
1个回答
0
投票
import dash, random, datetime
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
import dash_table
import pandas as pd
from sqlalchemy.orm import sessionmaker
from models import Title, db_connect, create_table, Domain

columns= [column.key for column in Title.__table__.columns]

external_stylesheets = ['https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css']

engine = db_connect()
create_table(engine)
Session = sessionmaker(bind=engine)
session = Session()

app = dash.Dash(__name__, external_stylesheets=external_stylesheets)
app.scripts.append_script({"external_url": "https://code.jquery.com/jquery-3.3.1.js"})

app.layout = html.Div([
    dash_table.DataTable(
        id='datatable',
        columns=[{"name": i, "id": i} for i in columns],
        data=[],),
    dcc.Interval(
            id='interval-component',
            interval=1*5000, # in milliseconds
            n_intervals=0
    ),
],)


@app.callback(Output('datatable', 'data'),
              [Input('interval-component', 'n_intervals'),])
def update_metrics(n):
    query = session.query(Title).all()
    data = []
    for q in query:
        title = q.__dict__
        del title['_sa_instance_state']
        data.append(title)
    return data
© www.soinside.com 2019 - 2024. All rights reserved.