CellList保持选定的单元格?

时间:2013-12-11 00:31:53

标签: java javascript html gwt mgwt

我使用完美的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;
    }

}

1 个答案:

答案 0 :(得分: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   
      }
    });