You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Streamlit中用streamlit-aggrid实现表格行条件格式化

Streamlit-AgGrid 整行条件格式化实现方案

要实现整行条件格式化,无需针对列配置cellStyle,而是通过getRowStyle配置整行样式规则,以下是修改后的可运行代码:

from st_aggrid import AgGrid, GridOptionBuilder, JsCode

# 假设你的数据集为mydf
gb = GridOptionBuilder.from_dataframe(mydf)

# 定义整行样式的JS逻辑,根据行内数据判断样式
row_style_jscode = JsCode("""
function(params) {
    // 替换为你的实际判断条件,示例以"分数"列大于70为触发条件
    if (params.data.分数 > 70) {
        return {
            'color': 'white',
            'backgroundColor': '#fa7e74'
        }
    } else {
        return {
            'color': 'black',
            'backgroundColor': '#cdf6df'
        }
    }
};
""")

# 绑定整行样式规则
gb.configure_grid_options(getRowStyle=row_style_jscode)
# 如需保留列的可编辑等配置,可继续添加列配置
gb.configure_columns(mydf.columns, editable=True)

gridOptions = gb.build()
AgGrid(mydf, gridOptions=gridOptions, allow_unsafe_jscode=True)

关键说明

  • 用getRowStyle替代cellStyle,作用范围覆盖整行而非单个单元格
  • 通过params.data.列名获取当前行的指定列数据,以此作为条件判断依据
  • 必须开启allow_unsafe_jscode=True,否则自定义JS逻辑无法生效
  • 列的额外配置(如可编辑、宽度调整)可通过configure_columns继续设置

内容的提问来源于stack exchange,提问作者干猕猴桃

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 00:35:19