2011-08-08 83 views
0

我試圖創建一個包含複選框項目列表的scrollPanel。我的主要問題是用CheckboxCell構造一個CellList。這裏是導致編譯時錯誤的一個片段。gwt CellList內的CheckBoxCell

CheckboxCell testCheckBox = new CheckboxCell(); 

CellList<String> cellList = new CellList<String>(testCheckBox); 

錯誤消息:構造函數CellList(CheckboxCell)未定義。

如果這是錯誤的構造函數,那麼正確的方法是什麼?

回答

2

嘗試將CellList的類型更改爲布爾值。

CheckboxCell testCheckBox = new CheckboxCell(); 
CellList<Boolean> cellList = new CellList<Boolean>(testCheckBox); 

更新:在各種細胞

更多的例子(這是結合複選框+圖片,但你可能要替換文本圖片):

http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellTree

這一點更棘手的,但是這個展示也包含可能想要深入其中的資源。

PS:更加懶惰的解決辦法是不使用電池控件和做自己(擴展複合)組合/標籤,並將其放置在說FlexTable :)

+0

謝謝,這幫助。但是,如何將文本與複選框相關聯,反之亦然。 既然你不能使用setRowData(),否則我錯過了一些東西。 – help

+0

@help請參閱我的更新 – Xorty

1

您可以嘗試類似的東西。你將需要一些額外的本地代碼來處理「檢查」事件。

public class StyleCell extends AbstractCell<Style> { 
@Override 
public void render(Context context, Style row, SafeHtmlBuilder sb) { 
    if (row == null) { 
     return; 
    } 
    sb.appendHtmlConstant("<INPUT TYPE=CHECKBOX NAME='property'>" + row.getProperty() + "</INPUT>"); 
} 

}

StyleCell styleCell = new StyleCell(); 
CellList<Style> styleList = new CellList<Style>(styleCell);