我有一列設置爲複選框過濾器,它有兩個值(「退款」和「空」)。我想設置該過濾器只有「退款」複選框,但我無法找到如何設置它。如何使用Spotfire中的IronPython設置複選框過濾器?
IronPython如何輕鬆完成此任務?
我有一列設置爲複選框過濾器,它有兩個值(「退款」和「空」)。我想設置該過濾器只有「退款」複選框,但我無法找到如何設置它。如何使用Spotfire中的IronPython設置複選框過濾器?
IronPython如何輕鬆完成此任務?
這是我如何設置複選框過濾器。 TOH to @Niko和@Jacek Sierajewski提供cb過濾器設置的「(空)」提示!
from Spotfire.Dxp.Application import Filters as filters
strTtype= Document.Properties['Ttype']
FilterSelection = Document.Data.Filterings["Main Scheme"]
cbfRefund = Document.FilteringSchemes[FilterSelection][Document.Data.Tables["Transaction Data"]]["Refund Transaction"].As[filters.CheckBoxFilter]()
if strTtype=="Refund":
for CheckBoxValue in cbfRefund.Values:
cbfRefund.Uncheck(CheckBoxValue)
if CheckBoxValue == "Refund":
cbfRefund.Check(CheckBoxValue)
cbfRefund.IncludeEmpty=False#This clears the "(Empty)" checkbox
設置過濾器編程方式(從文本輸入域)
import Spotfire.Dxp.Application.Filters as filters
import Spotfire.Dxp.Application.Filters.ListBoxFilter
from Spotfire.Dxp.Application.Filters import FilterTypeIdentifiers
from Spotfire.Dxp.Data import DataPropertyClass
from System import String
myPanel = Document.ActivePageReference.FilterPanel
myFilter= myPanel.TableGroups[0].GetFilter("Site Name")
lbFilter = myFilter.FilterReference.As[filters.ListBoxFilter]()
lbFilter.IncludeAllValues=False
strVals = Document.Properties["colname"]
if strVals!=String.Empty:
lbFilter.SetSelection(strVals.split())
else:
lbFilter.Reset()
參考: http://spotfired.blogspot.com/2014/03/change-filters-programatically-from.html
@Keng,在此重要的部分是線'lbFilter.IncludeAllValues = FALSE',這也許應該被稱爲'lblFilter.IsEmptyChecked'。設置爲「True」會勾選**(空)**框。 – niko