如何在ext gwt中为ListView设置项目呈现器?
我在extgwt中有一个如何在ext gwt中为ListView设置项目呈现器?,gwt,listview,itemrenderer,gxt,Gwt,Listview,Itemrenderer,Gxt,我在extgwt中有一个列表视图,我正在向其中添加一些自定义数据。如何在列表视图上设置项目呈现器?现在,每当添加一个项时,视图中只有一小行表示每个条目 这是我的基本代码: import com.extjs.gxt.ui.client.store.ListStore; import com.extjs.gxt.ui.client.widget.ListView; import com.foo.bar.FooModelData; private final ListStore<FooMod
列表视图
,我正在向其中添加一些自定义数据。如何在列表视图
上设置项目呈现器?现在,每当添加一个项时,视图中只有一小行表示每个条目
这是我的基本代码:
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.widget.ListView;
import com.foo.bar.FooModelData;
private final ListStore<FooModelData> listStore =
new ListStore<FooModelData>();
private final ListView<FooModelData> listView =
new ListView<FooModelData>();
public initializeView()
{
listView.setStore(listStore);
listView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
}
public void addItem(FooModelData data) {
listStore.add(data);
}
public class FooModelData extends BaseModel
{
public ModelDataInstance(Foo foo, String style)
{
setFoo(foo);
setStyle(style);
}
public String getStyle()
{
return get("style");
}
public Foo getFoo()
{
return (Foo) get("foo");
}
public void setStyle(String style)
{
set("style", style);
}
public void setFoo(Foo foo)
{
set("foo", foo);
}
}
import com.extjs.gxt.ui.client.store.ListStore;
导入com.extjs.gxt.ui.client.widget.ListView;
导入com.foo.bar.FooModelData;
私有最终ListStore ListStore=
新建ListStore();
私有最终ListView ListView=
新建ListView();
公共初始化视图()
{
设置存储(listStore);
listView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
}
公共void附加项(foododeldata数据){
添加(数据);
}
公共类FoodModelData扩展了BaseModel
{
公共ModelDataInstance(Foo-Foo,字符串样式)
{
setFoo(foo);
设置样式(样式);
}
公共字符串getStyle()
{
返回获取(“样式”);
}
公共Foo getFoo()
{
返回(Foo)获取(“Foo”);
}
公共void集合样式(字符串样式)
{
设置(“样式”,样式);
}
公共无效设置Foo(Foo-Foo)
{
集合(“foo”,foo);
}
}
谢谢你的帮助 GXT使用模板化实现。 使用Sencha explorer示例的简化版本,您可以按如下方式使用数据(foo.name假定foo也是一个模型:
public initializeView()
{
listView.setStore(listStore);
listView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
listView.setTemplate(getTemplate());
}
private native String getTemplate() /*-{
return ['<tpl for=".">',
'<div class="{style}">{foo.name}</div>',
'</tpl>',
'<div class="x-clear"></div>'].join("");
}-*/;
public initializeView()
{
设置存储(listStore);
listView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
setTemplate(getTemplate());
}
私有本机字符串getTemplate()/*-{
返回[“”,
“{foo.name}”,
'',
'')。加入(“”);
}-*/;