In this case the view() method of the dataSource returns a collection of the groups, not the rows, which is the reason for the unexpected behavior. As a workaround you could iterate the Grid rows directly instead of the dataSource items.
In the above example I am removing the delete button for items with UnitPrice above 30.
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Telerik Feedback Portal
and vote to affect the priority of the items