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

如何为JustPy QTable中符合条件的行设置自定义样式(如红/加粗)

为JustPy QTable的特定行设置条件样式

现有创建表格及添加行的代码:

some_table = jp.QTable(
    hide_bottom=True,
    title=f'Some Table Title',
    data=[],
    columns=some_table_columns,
    a=some_table_div,
    dense=True,
    style="margin-bottom:25px"
)

for some_item in some_item_str_list:
    new_row = {"name": some_item}
    some_table.data.append(new_row)

方案1:在数据行中直接嵌入样式

添加行时根据条件为行数据添加_style(内联样式)或_class(CSS类)字段,JustPy会自动将样式应用到对应行:

for some_item in some_item_str_list:
    new_row = {"name": some_item}
    if some_item == "value1":
        # 直接设置内联样式:文字变红+加粗
        new_row["_style"] = "color: red; font-weight: bold;"
        # 也可以用CSS类(需提前定义样式)
        # new_row["_class"] = "highlight-row"
    some_table.data.append(new_row)

如果使用CSS类,需要在页面中添加样式定义:

jp.add_style("""
.highlight-row {
    color: red;
    font-weight: bold;
}
""")

方案2:用row_classes函数动态生成样式类

适合复杂条件判断场景,创建表格时绑定一个函数,根据每行数据返回对应的样式类:

  1. 先定义全局样式:
jp.add_style("""
.highlight-row {
    color: red;
    font-weight: bold;
}
""")
  1. 创建表格时指定row_classes参数:
def get_row_classes(row_data, index):
    # 根据行数据的name字段判断
    if row_data["name"] == "value1":
        return "highlight-row"
    # 不符合条件返回空字符串
    return ""

some_table = jp.QTable(
    hide_bottom=True,
    title=f'Some Table Title',
    data=[],
    columns=some_table_columns,
    a=some_table_div,
    dense=True,
    style="margin-bottom:25px",
    row_classes=get_row_classes  # 绑定行样式类生成函数
)
  1. 添加行的代码无需修改,表格会自动为符合条件的行应用样式。

内容的提问来源于stack exchange,提问作者Przemysław Kalita

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 22:35:18