Java 吕震中本:制作自定义单元格列
我很难理解如何在GWT中构建列。假设我有一个Java 吕震中本:制作自定义单元格列,java,gwt,Java,Gwt,我很难理解如何在GWT中构建列。假设我有一个书籍的数组列表,想在单元格表中列出它们。一个特殊要求是,每本书都有一个页面的数组列表,我想基于页面列表构建自己的HTML代码 说明了如何使输入了字符串的单元格,然后返回字符串。但是,我想给它一本书,然后得到一个字符串(通过使用书的数组列表)。为此,我几乎复制了单元格的示例代码,只是用Book替换了String 我不知道如何使用此单元格将列添加到我的单元格表。使用TextColumn将获取单元格的render方法生成的HTML代码并将其转义。我上一次尝试
书籍的数组列表
,想在单元格表中列出它们。一个特殊要求是,每本书
都有一个页面
的数组列表
,我想基于页面
列表构建自己的HTML代码
说明了如何使输入了字符串的单元格
,然后返回字符串
。但是,我想给它一本书
,然后得到一个字符串
(通过使用书
的数组列表
)。为此,我几乎复制了单元格的示例代码,只是用Book
替换了String
我不知道如何使用此单元格将列添加到我的单元格表
。使用TextColumn
将获取单元格的render
方法生成的HTML代码并将其转义。我上一次尝试是构建一个列
,但是列
的构造函数需要一个实现单元格
的对象,而我的则实现单元格
。我做错了什么?很可能,我对GWT中单元格和列的工作方式有一些基本的误解。下面,你可以看到我想要的代码,但它不起作用
Cell pagesCell=new pagesCell();
Column pagesColumn=新列(pagesCell){
@凌驾
公共字符串getValue(书本){
PagesCell PagesCell=新的PagesCell();
SafeHtmlBuilder SafeHtmlBuilder=新SafeHtmlBuilder();
pagesCell.render(null、book、safeHtmlBuilder);
返回safeHtmlBuilder.toSafeHtml().asString();
}
};
此代码产生错误
列中的列(com.google.gwt.cell.client.cell)不能应用于(com.google.gwt.cell.client.cell)
您需要将单元格传递给列构造函数。之后,无需在getValue()方法中初始化另一个单元格对象
您需要通过扩展创建一个新单元,并传递一个表示要呈现的HTML的字符串。然后在你的专栏中:
Column<Book, SafeHtml> pagesColumn = new Column<Book, SafeHtml>(new PagesCell()) {
@Override
public SafeHtml getValue(Book book) {
SafeHtmlBuilder safeHtmlBuilder = new SafeHtmlBuilder();
// create your HTML here - not in the cell, using your Book object
return safeHtmlBuilder.toSafeHtml();
}
};
Column pagesColumn=new列(new PagesCell()){
@凌驾
公共安全价值(书籍){
SafeHtmlBuilder SafeHtmlBuilder=新SafeHtmlBuilder();
//在此处创建HTML,而不是在单元格中,使用Book对象
返回safeHtmlBuilder.toSafeHtml();
}
};
您是否尝试过cellTable.addColumn(pagesColumn)代码>?我没有机会,因为我甚至没有声明pagesColumn
。我在问题中添加了IntelliJ显示的错误。您得到的错误是什么?