如何在Streamlit AgGrid中实现单元格文本换行与行高自适应?
在Streamlit的AgGrid中实现单元格换行与行高自适应
要实现类似st.table的单元格文本换行、行高自适应效果,直接通过配置AgGrid的gridOptions就能搞定,具体操作如下:
核心配置逻辑:在
gridOptions里设置defaultColDef,将wrapText设为True,autoHeight设为True。这两个参数配合后,单元格会自动换行,行高也会根据内容高度自适应调整。完整代码示例:
import streamlit as st from st_aggrid import AgGrid, GridOptionsBuilder import pandas as pd # 构造带长文本的测试数据集 data = { "标题": ["短标题", "超长文本标题示例:这是一段非常长的文本内容,用来测试AgGrid的单元格换行效果,看看能不能自动调整行高显示全部内容而不截断"], "内容": ["普通内容", "这里也是一段很长的内容,需要在单元格里自动换行展示,不需要手动调整行高就能完整看到所有文字信息"] } df = pd.DataFrame(data) # 构建Grid配置项 gb = GridOptionsBuilder.from_dataframe(df) gb.configure_default_column(wrapText=True, autoHeight=True) grid_options = gb.build() # 渲染AgGrid组件 AgGrid(df, gridOptions=grid_options)
- 针对特定列的单独配置:如果只需要给某几列设置换行和自适应行高,可以用
configure_column指定列名单独调整,比如:
gb.configure_column("内容", wrapText=True, autoHeight=True)
这样配置完成后,AgGrid的单元格就会像st.table一样自动处理长文本换行,行高也会跟随内容自动适配。
内容的提问来源于stack exchange,提问作者Miguel
相关产品推荐
相关产品推荐

