Filters on Perspective table

Is there a way to add multiple filters to an ignition perspective table?

You can do column filters (you first have to create the column objects)


Thanks for the response. I dont see that and I have my objects created

The column filter was added in 8.1.31, you would need to upgrade.

1 Like

Ahhh okay, thank you

OR, there is a possibility that you are on 8.1.33+ but you still don't see the new options for filtering and a few others they've added recently - this could be for a few reasons:

  • You create the columns objects by using a script - in that case, you'll need to add the filter object to your script
  • You created the project and added the column objects in a version before 8.1.33, but you've since upgraded - I believe I remember seeing that the new options won't show up for you automatically, but you will get a suggestion for them if you click on the + icon, like so

I'm not sure this applies to you specifically, but I wanted to address future users who are on 8.1.33+ but still don't see those options.

2 Likes

Thanks!

If you don't mind can you show me how the filters look in your table?

Sure - here is a small snip of what it looks like. You get a little filter icon next to your column's header text

The options you have that get displayed in the Select condition dropdown are based on what datatype the column is (what you set the column's render property to). For instance, here are the options for numeric and date values, respectively:

Of course, one limitation of filtering in a Perspective table is that it will only filter on data within the table's data property which excludes cells displayed via embedded views.

We generally will pull actual values into table.data for any value which should be static during a user's session (e.g. a device's name, attributes, relationships, etc) but will pass a tagPath and a key and embed a view for anything dynamic (e.g. a process value - even if we're displaying plain text).

We then drive those values to a common pageVarMap in our view.custom bindings before they ever hit the table.data, then bind labels or whatever else in our cell embedded views to that pageVarMap filtered for the tagPath and key provided by the table.

This results in a much higher performance display and gets rid of that annoying behavior in Designer where table.data refreshes and collapses every time a value within it changes.

Example of this within @pturmel's Tag Report Utility: Ignition Exchange | Inductive Automation

2 Likes