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 回答