Problem iterate hidden treetable rows with a checkbox column

Hi,
In a treetable, we use {common.checkbox()} template on a Boolean column in order to have the value of the field changed when the checkbox is checked or not. Webix does it well.

This treetable use scheme.$group to group data.
This treetable as a simple filter on another column

We need to iterate absolutely all rows of the treetable. Even the rows where parent isn’t expended, and even the rows that are hidden because of the filter.
And wee also need, during iteration to have the checked state of the Boolean column.
We didn’t found a solution which cover all our needs.

treetable.eachRow doesn’t work because it does not iterate through rows where parent isn’t expended (using the “all” parameter of eachRow of course)
treetable.data.each is better because it iterate through rows of all groups. But sadly it does not iterate on rows hidden by the filter.

What is the right way to iterate over each data of the treetable independently of it filters or groups expansion state

Example snippet : http://webix.com/snippet/2380a6d0

Hi,

Both each and eachRow methods of the Datastore iterate data with respect to filtering.

You need to iterate thetable.data.pull, which is the hash of all the data items in the widget: http://webix.com/snippet/8d08f5c5

Thank you !
I’ve discovered that datatable.data.each(callback, datatable, true); is working too. What is the difference ?

However we can underline that treetable.eachRow has a bug according to the documentation, the “all” argument has no effects whereas it works with datatable

Yep, eachRow method will work correctly only for plain structures, which means that you can safely use it with DataTable only.

We will correct the API, thank you for pointing.