Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 吕震中本:制作自定义单元格列_Java_Gwt - Fatal编程技术网

Java 吕震中本:制作自定义单元格列

Java 吕震中本:制作自定义单元格列,java,gwt,Java,Gwt,我很难理解如何在GWT中构建列。假设我有一个书籍的数组列表,想在单元格表中列出它们。一个特殊要求是,每本书都有一个页面的数组列表,我想基于页面列表构建自己的HTML代码 说明了如何使输入了字符串的单元格,然后返回字符串。但是,我想给它一本书,然后得到一个字符串(通过使用书的数组列表)。为此,我几乎复制了单元格的示例代码,只是用Book替换了String 我不知道如何使用此单元格将列添加到我的单元格表。使用TextColumn将获取单元格的render方法生成的HTML代码并将其转义。我上一次尝试

我很难理解如何在GWT中构建列。假设我有一个
书籍
数组列表
,想在
单元格表中列出它们。一个特殊要求是,每本
都有一个
页面
数组列表
,我想基于
页面
列表构建自己的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显示的错误。您得到的错误是什么?