我無法理解如何在GWT中構建列。假設我有一個ArrayList
的Book
s,並且想要在CellTable
中列出它們。一個特殊的要求是,每個Book
有一個ArrayList
的Page
s,我想根據Page
列表構建自己的HTML代碼。GWT:製作一列自定義單元格
tutorial on custom cells解釋瞭如何製作一個輸入String
然後返回String
的單元格。但是,我想餵它Book
,然後得到String
(通過在Book
的ArrayList<Page>
工作)。爲此,我幾乎複製了單元格的示例代碼,除了我用Book
替換String
。
我不知道如何使用此單元格添加一列到我的CellTable
。使用TextColumn
將採用單元格的render
方法生成的HTML代碼並將其轉義。我的最後一次嘗試是建立一個Column<PagesCell, String>
,但Column
的構造函數需要一個實現Cell<String>
的對象,而我的工具Cell<Book>
。我究竟做錯了什麼?很可能,我對GWT中單元格和列的工作方式有一些基本的誤解。在下面,你可以看到我想到的代碼,但哪些都不起作用。
Cell<Book> pagesCell = new PagesCell();
Column<Book, String> pagesColumn = new Column<Book, String>(pagesCell) {
@Override
public String getValue(Book book) {
PagesCell pagesCell = new PagesCell();
SafeHtmlBuilder safeHtmlBuilder = new SafeHtmlBuilder();
pagesCell.render(null, book, safeHtmlBuilder);
return safeHtmlBuilder.toSafeHtml().asString();
}
};
此代碼產生了錯誤
在柱柱(com.google.gwt.cell.client.Cell)不能被施加到(com.google.gwt.cell.client.Cell )
你嘗試'cellTable.addColumn(pagesColumn);'? –
我沒有機會,因爲我甚至沒有聲明'''pagesColumn'''。我在我的問題中添加了IntelliJ顯示錯誤。 –
你得到的錯誤是什麼? –