Row Selector Filter adjustments

Can we change the filter priority programmatically? Sometimes it’s nice to have it by Year/Month first (as shown), other times it’s be nice to have it by Line/station first.

Yes, you can programmatically set the filters. Here is an example of all filters:[code]import sys

sys.add_package(“com.inductiveautomation.factorypmi.plugins.reporting.components.rowselector”)
from com.inductiveautomation.factorypmi.plugins.reporting.components.rowselector import CustomDateFilter
from com.inductiveautomation.factorypmi.plugins.reporting.components.rowselector import DayFilter
from com.inductiveautomation.factorypmi.plugins.reporting.components.rowselector import DiscreteFilter
from com.inductiveautomation.factorypmi.plugins.reporting.components.rowselector import MonthFilter
from com.inductiveautomation.factorypmi.plugins.reporting.components.rowselector import StringFilter
from com.inductiveautomation.factorypmi.plugins.reporting.components.rowselector import YearFilter

filters = []

Example of CustomDateFilter

f = CustomDateFilter()
f.setColumnName(“t_stamp”)
f.setDateFormatString(“yyyy-MM-dd”)
filters.append(f)

Example of DayFilter

f = DayFilter()
f.setColumnName(“t_stamp”)
filters.append(f)

Example of DiscreteFilter

f = DiscreteFilter()
f.setColumnName(“discreteCol”)
f.setFormatString(“Item %d”)
filters.append(f)

Example of MonthFilter

f = MonthFilter()
f.setColumnName(“t_stamp”)
filters.append(f)

Example of StringFilter

f = StringFilter()
f.setColumnName(“someColumn”)
f.setCaseSensitive(0)
filters.append(f)

Example of YearFilter

f = YearFilter()
f.setColumnName(“t_stamp”)
filters.append(f)

event.source.parent.getComponent(‘Row Selector’).setFilters(filters)[/code]Use the ones you need and make sure you append it to the list in the correct order. You can also set the icon on any filter by doing the following:f.setIconPath("Builtin/icons/16/calendar.png")Enjoy!

Cool! Thanks, Travis!