1


1

ext-gwtでListViewのアイテムレンダラーを設定するにはどうすればよいですか?

ext-gwtに `ListView`があり、それにカスタムデータを追加しています。 「ListView」でアイテムレンダラーを設定するにはどうすればよいですか? 現在、アイテムが追加されるたびに、ビュー内の各エントリを表す小さな行があります。

これが私の基本的なコードです:

import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.widget.ListView;
import com.foo.bar.FooModelData;


private final ListStore listStore =
    new ListStore();
private final ListView listView =
    new ListView();

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);
    }

}

すべての助けをありがとう!

1 Answer


2


GXTはテンプレート実装を使用します。 Sencha Explorerのサンプルの簡易バージョンを使用すると、次のようにデータを使用できます(foo.nameはfooもモデルであると想定しています:

public initializeView()
{
listView.setStore(listStore);
listView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
listView.setTemplate(getTemplate());
}

private native String getTemplate() /*-{
 return ['',
 '{foo.name}',
 '',
 ''].join("");
}-*/;