2013-12-11 51 views
1

我使用MGWT CellList這是完美的作品。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; 
    } 

} 
+0

你有什麼確切意思是由用戶釋放細胞?你想多選?如果是,只需使用多選處理程序 – Onkar

+0

@我希望如果用戶點擊/點擊單元格,它將保持選中狀態。我怎樣才能做到這一點? – confile

回答

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

非常感謝你! – confile

相關問題