1

私は完璧に機能するMGWT CellListを使用しています。

次の問題があります。ユーザーがセルを離した後も選択されたままになるように、選択したセルを選択したままにするにはどうすればよいですか?

これが私の実装です:

CellList<Item> myCellList = new CellList<Item>(new ItemCell());

私のItemCellクラス:

public class ItemCell implements Cell<Item> {

    private static Template TEMPLATE = GWT.create(Template.class);

    public interface Template extends SafeHtmlTemplates {
        @SafeHtmlTemplates.Template("<div>{0}</div>")
        SafeHtml content(String cellContents);
    }

    @Override
    public void render(SafeHtmlBuilder safeHtmlBuilder, Item model) {
        SafeHtml content = TEMPLATE.content(model.getName());

        safeHtmlBuilder.append(content); 

    }

    @Override
    public boolean canBeSelected(Item model) {
        return true;
    }

}

私のアイテムクラス:

public class Item {

    private String name;

    public Item() {
        setName("");
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}
4

1 に答える 1

1

必要なのは選択ハンドラです。単一選択が必要な場合は SingleSelectionHandler を使用し、複数選択が必要な場合は MultiSelectionHandler を使用します。サンプル コード:

 SelectionModel<Item> selectionModel = new SingleSelectionModel<Item>();
    cellList.setSelectionModel(selectionModel);

選択に関して何かしたい場合は、ここで行うことができます

selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
      public void onSelectionChange(SelectionChangeEvent event) {
                   /** Do your thing here **/
           selectionModel.getSelectedObject();  //for single Selection
           selectionModel.getSelectedSet(); //for multiple Selection   
      }
    });
于 2013-12-15T04:03:27.443 に答える