我正在使用Vaadin 8,遇到了一个问题。
在我的构造函数中,我创建了一个网格(Grid),并将其添加到一个布局(Layout)中。
Grid<Row> grid = new Grid<>(); grid.removeAllColumns(); //Here, I add columns to the grid grid.addColumn(... grid.addColumn(… …
我希望我能在我的网格中添加一个转换器,具体如下:
grid.getColumn("delete").setConverter(new StringToUrlConverter("dustbin"));
我不明白的是为什么我无法添加转换器时出现的错误消息。错误消息如下:
方法setConverter(StringToUrlConverter)对于类型 >Grid.Column<ContactView.Row,capture#1-of?>未定义
那么我该如何设置我的转换器?
这是我的转换器:
package com.example.vaadin;
import com.vaadin.data.Converter;
import com.vaadin.data.Result;
import com.vaadin.data.ValueContext;
public class StringToUrlConverter implements Converter<String, String> {
/**
*
*/
private static final long serialVersionUID = 1L;
String imagePath = "";
public StringToUrlConverter(String path) {
this.imagePath=path;
}
public String getImagePath() {
return imagePath;
}
@Override
public Result<String> convertToModel(String value, ValueContext context) {
return Result.ok(null);
}
@Override
public String convertToPresentation(String value, ValueContext context) {
if(value.equals("delete")) {
return "<span><img src='img/" + getImagePath() + ".jpg' width='20' height='20'></span>";
}
return "";
}
}