hi,
I have the same question with you,I want to build a tree with list,
articleclasstree.xml :
<scrollPane>
<list>
<_renderer><![CDATA[
<listitem onAction="treeitem">
<picture>
${image}.png
<_style>margin:0 0 0 ${layer}</_style>
</picture>
${name}
</listitem>
]]></_renderer>
<_items>@{lArticleClasss}</_items>
</list>
</scrollPane>
ArticleClassTreeFrame.java onAdded:
public void onAdded() {
// Load the content from the XML file with Kuix.loadScreen static method
Screen screen = Kuix.loadScreen("articleclasstree.xml", articleclasslistDataProvider);
ArticleClassDataProvider item1 = new ArticleClassDataProvider();
item1.setid("1");item1.setname("Node01");item1.setparent("0");item1.setlayer("0");item1.setimage("jia");
articleclasslistDataProvider.addItem("lArticleClasss", item1);
ArticleClassDataProvider item2 = new ArticleClassDataProvider();
item2.setid("2");item2.setname("Node02");item2.setparent("0");item2.setlayer("0");item2.setimage("jian");
articleclasslistDataProvider.addItem("lArticleClasss", item2);
ArticleClassDataProvider item3 = new ArticleClassDataProvider();
item3.setid("3");item3.setname("Node03");item3.setparent("1");item3.setlayer("18");item3.setimage("jian");
articleclasslistDataProvider.addItem("lArticleClasss", item3);
ArticleClassDataProvider item5 = new ArticleClassDataProvider();
item5.setid("5");item5.setname("Node05");item5.setparent("3");item5.setlayer("36");item5.setimage("jian");
articleclasslistDataProvider.addItem("lArticleClasss", item5);
ArticleClassDataProvider item4 = new ArticleClassDataProvider();
item4.setid("4");item4.setname("Node04");item4.setparent("1");item4.setlayer("18");item4.setimage("jian");
articleclasslistDataProvider.addItem("lArticleClasss", item4);
// Set the application current screen
screen.setCurrent();
}
ArticleClassDataProvider.java:
package com.sws.JSMobileKMS.dataprovider;
import org.kalmeo.kuix.core.model.DataProvider;
public class ArticleClassDataProvider extends DataProvider{
private String id;
private String name;
private String parent;
private String layer;
private String image;
public String getname() {
return this.name;
}
public void setid(String id) {
this.id = id;
}
public void setname(String name) {
this.name = name;
dispatchUpdateEvent("name");
//dispatchItemsUpdateEvent( DataProvider.FILTER_MODEL_UPDATE_EVENT_TYPE, "name", this, (LinkedListEnumeration)getUserDefinedValue( "name" ) );
}
public void setparent(String parent) {
this.parent=parent;
}
public void setlayer(String layer) {
this.layer=layer;
dispatchUpdateEvent("layer");
}
public void setimage(String image) {
this.image=image;
dispatchUpdateEvent("image");
}
protected Object getUserDefinedValue(String property) {
if("name".equals(property)) {
return name;
}
if("layer".equals(property)) {
return layer;
}
if("image".equals(property)) {
return image;
}
return null;
}
}
ArticleClassListDataProvider.java:
package com.sws.JSMobileKMS.dataprovider;
import org.kalmeo.kuix.core.model.DataProvider;
public class ArticleClassListDataProvider extends DataProvider{
}
the image when runing:

now,When I clicked the item,for example Node02,I hope the child node contraction,therefore i want to find out all the child nodes,then remove or add them in ArticleClassListDataProvider,or change them visible true or false,but i don't knows how to use Filter filters out them,and when i change item dataprovider ArticleClassDataProvider name property to "node aaa", the UI no change,can you help me?my e-mail :252386922@qq.com, thanks!