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

如何在Spotfire中当下拉筛选控件变更时更新匹配列值的标签控件

在Spotfire Analyst 11.4.2中实现下拉选择site_id后自动显示对应site_name的方案

Spotfire完全支持你需要的功能,通过文档属性+IronPython脚本的组合就能实现自动匹配并显示站点名称,以下是具体操作步骤:

1. 配置文档属性

  • 确认你已拥有绑定下拉筛选控件的文档属性(比如命名为SelectedSiteID),用于存储用户选中的site_id值。
  • 新增一个字符串类型的文档属性,命名为SelectedSiteName,用来存放匹配到的站点名称。

2. 编写IronPython脚本并绑定到下拉控件

在下拉控件的「值更改」事件中添加以下脚本(注意替换脚本中的占位符为你的实际内容):

from Spotfire.Dxp.Data import DataTable

# 获取当前文档对象
doc = Application.Document

# ---------------------- 需要替换的配置项 ----------------------
DATA_TABLE_NAME = "你的数据表名称"  # 替换为存储site_id和site_name的数据表名
SELECTED_ID_ATTR = doc.Properties["SelectedSiteID"]  # 替换为绑定下拉控件的文档属性名
SITE_NAME_ATTR = doc.Properties["SelectedSiteName"]  # 替换为你新增的存储站点名称的文档属性名
# -------------------------------------------------------------

# 目标数据表
data_table = doc.Data.Tables[DATA_TABLE_NAME]

matched_name = ""
if SELECTED_ID_ATTR != "":
    # 构建筛选条件,匹配选中的site_id
    filter_expression = f"[site_id] = '{SELECTED_ID_ATTR}'"
    # 获取匹配的行
    matched_rows = data_table.SelectRows(filter_expression)
    if matched_rows.Count > 0:
        # 取第一行的site_name值(确保site_id唯一即可保证结果准确)
        matched_name = matched_rows[0]["site_name"].Value

# 更新站点名称文档属性
SITE_NAME_ATTR = matched_name

3. 添加标签控件显示站点名称

在文本区域中插入「标签」控件,编辑标签的文本内容为{SelectedSiteName}(名称需与你新增的文档属性名一致)。当下拉控件的选中值变化时,脚本会自动更新SelectedSiteName属性,标签也会同步显示对应的站点名称。

注意事项

  • 确保你的site_id列值是唯一的,避免出现多个匹配结果(如果存在重复ID,脚本会取第一个匹配的站点名称)。
  • 如果下拉控件支持多选,可修改脚本逻辑来处理多个ID的显示(比如用逗号分隔多个站点名称)。

内容的提问来源于stack exchange,提问作者Captain27

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 20:35:17