【问题标题】:Spotfire Apply Multi-select values from a property control to a filter using a scriptSpotfire 使用脚本将属性控件中的多选值应用到过滤器
【发布时间】:2016-09-13 19:23:48
【问题描述】:

我试图弄清楚如何允许用户从属性控件中选择多个值,并将这些值传递给过滤器。

过滤需要对两个不同的相关表有条件,所以我必须使用绑定到属性控件的列表框,并使用脚本处理过滤。

我有一个当前工作版本,只允许选择一个,但我需要能够选择多个。

选择了“全部”选项过滤的两个表格

筛选出的两个表格,选择了 1 个程序

我用来一次过滤 1 个选项的脚本是:

 from Spotfire.Dxp.Application import Filters from
 Spotfire.Dxp.Application.Filters import CheckBoxFilter

 Filter1=Document.FilteringSchemes[0].Item[myDataTable].Item[myDataTable.Columns.Item["Program_Name"]].As[CheckBoxFilter]()
 Filter2=Document.FilteringSchemes[0].Item[myDataTable2].Item[myDataTable2.Columns.Item["Program_Name"]].As[CheckBoxFilter]()

 program=Document.Properties["SelectedProgram"]

 Filter1.IncludeEmpty = False  for value in Filter1.Values:  
 Filter1.Uncheck(value)

 Filter2.IncludeEmpty = False for value in Filter2.Values:  
 Filter2.Uncheck(value)

 if program == "All":   Filter1.Check(program)  Filter2.IncludeEmpty =
 False  for value in Filter2.Values:        Filter2.Check(value) if program
 <> "All":  Filter1.Check(program)  Filter2.Check(program)

【问题讨论】:

    标签: ironpython spotfire


    【解决方案1】:

    问题是程序中有多个值。添加另一个 for 循环以解析每个选定的值

    for programvalue in program:
       if programvalue == "All":   
         Filter1.Check(programvalue)  
         Filter2.IncludeEmpty = False  
         for value in Filter2.Values:        
           Filter2.Check(value) 
       if programvalue <> "All":  
         Filter1.Check(programvalue)  
         Filter2.Check(programvalue)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-12
      • 1970-01-01
      • 1970-01-01
      • 2021-07-30
      • 1970-01-01
      • 2021-10-01
      • 2010-12-09
      • 2018-08-09
      相关资源
      最近更新 更多