2010-11-19 30 views

回答

5

如果您使用ListDataProvider<T>獲取包裝列表並只需添加或刪除元素。

一個很簡單的例子:

public void onModuleLoad() { 
    final ListDataProvider<String> provider = new ListDataProvider<String>(getList()); 
    CellList<String> list = new CellList<String>(new TextCell()); 
    provider.addDataDisplay(list); 

    Button btn = new Button("add more"); 
    btn.addClickHandler(new ClickHandler() { 

     private int counter = 0; 

     @Override 
     public void onClick(ClickEvent event) { 
      provider.getList().add(++counter + " more"); 
     } 
    }); 

    RootPanel.get().add(list); 
    RootPanel.get().add(btn); 
} 

private LinkedList<String> getList() { 
    LinkedList<String> list = new LinkedList<String>(); 
    list.add("1st"); 
    list.add("2nd"); 
    list.add("3rd"); 
    list.add("4th"); 
    list.add("5th"); 
    return list; 
} 
相關問題