2016-09-13 68 views
1

我想弄清楚如何让用户从属性控制中选择多个值,并将这些值传递给过滤器。Spotfire应用从属性控件的多选值使用脚本

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

我有一个当前的工作版本,只允许一个选择,但我需要能够选择多个。与所有选项过滤

两个表中选择 enter image description here

两个表中选择 enter image description here

我使用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) 

回答

0

问题是程序中有多个值。添加另一个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) 
相关问题