I have found a post written for das to make html table sortable. I want to apply same code or the feature in streamlit but could not do it.
Would appreciate for any support on this.
import dash
import dash_html_components as html
import pandas as pd
import dash_defer_js_import as dji
def generate_table(dataframe, max_rows=1000):
return html.Table([
html.Thead(
html.Tr([html.Th(col) for col in dataframe.columns])
),
html.Tbody([
html.Tr([
html.Td(dataframe.iloc[i][col]) for col in dataframe.columns
]) for i in range(min(len(dataframe), max_rows))
])
], style={'margin-right': 'auto', 'margin-left': 'auto'}, className="sortable")
df = pd.DataFrame({'Fruits': ["Apple", "Banana"], 'Vegetables': ["Tomato", "Cucumber"]})
app = dash.Dash()
app.layout = html.Div([generate_table(df), dji.Import(src="https://www.kryogenix.org/code/browser/sorttable/sorttable.js")])
if __name__ == '__main__':
app.run_server()