How to filtering TreeGrid's children?

It’s working only on Parent.

TreeData<ResourceGrid> treeData = treeGridUpdatable.getTreeData();	
TreeDataProviderCustom<ResourceGrid> dataProvider = new TreeDataProviderCustom<>(treeData);
treeGridUpdatable.setDataProvider(dataProvider);

TextField filterTextField = new TextField();
filterTextField.setPlaceholder("name filter");
filterTextField.setValueChangeMode(ValueChangeMode.EAGER);
filterTextField.addValueChangeListener(event -> {
    dataProvider.setFilter(ResourceGrid::getName, name -> {
	String nameLower = name == null ? "" : name.toLowerCase(Locale.ITALIAN);
	String filterLower = event.getValue().toLowerCase(Locale.ITALIAN);
	return nameLower.contains(filterLower);
    });
});

17532378.png
17532381.png

The current implementation does not make this straightforward, see this issue report for more details:

https://github.com/vaadin/framework/issues/9933