When setting up a component node with filter slider widgets, is it possible in the interactive view to get it display the current number of rows as you move the sliders.
I have a table view node in there which I use with the table dimensions node but it doesn’t update the row number.
I cannot find any nodes with “enable hiliting” option. Below shows the nodes I am using in the Component node, for which I am trying to get the Table View node to display the number of rows as the user alters the Sliders.
ok, then the Slider Filter Widget nodes might not be the best choice. I tried to reconstruct your component and changed some of the nodes (and omitted the Extract Table Dimensions, see below). Don’t know about your input data, but please let me know if that works for you.
Thanks for this. But sorry for not being clear as to the problem I am facing.
This is correct in what I want to do with it showing the filtered rows, but I also wanted a way for it to display how many rows are left in the table.
This is important in knowing how changing a slider affects the number of rows filtered so the user can fine tune the slider without removing too many rows from the table.
This is why I had the table dimension node to get this, but it will not update with the number of rows.
Thanks Alice, but as the table changes in size you need to scroll down to find it. Ideally I wanted it set at the top of the interactive view next to the slides so the user can see the remaining rows in real-time of moving the slider.
to avoid scrolling you can either organize your Component view to have Slider(s) under the Table View either configure Table View to show only 10 entries per page (or max that enables you to see change).
I kept playing around with it yesterday. Only option I saw was attaching a table view to the table dimension, and then opening-close&apply the interactive view twice, so that the second time the other table would display the number of rows determined during the first time. I know this is very unsatisfying and not exactly what you wanted.
Gonna discuss it with the developer team, but for now ipazin’s suggestion is the best that works, I’m sorry!
I’d also very much like to see functionality where events in the view can trigger re-execution of the component if such functionality was possible to add :).
I was interested in being able to use this type of functionality also so I had a go.
I’ve been able to link into the selection events but can’t seem to see any change to the filter being applied. I can see the filter that’s updated but see no change in the underlying data table to indicate what has been filtered. Does every subscriber have to apply the filter themselves?
you are on the right track, the only thing which is not right yet is, that knimeDataTable.isRowIncludedInFilter() expects rowKeys as first parameters and you are passing the row object. If you change that to row.rowKey it should work.
I have opened a ticket to also allow to pass a row object to the function.
Text goes in ‘’, values can be concatenated with a +. The variable knimeDataTable.getNumRows() represents the number of rows in the table (make sure your max rows value is at least equal to the number of rows in the input. The variable filtered is the count of rows matching the filter and selected is the count of rows matching the selections.
So you could do something like:
html += filtered + ‘/’ + knimeDataTable.getNumRows() + ’ matched the filter’