Vaadin FlowのGridに画像を表示させる方法。
普通にテキスト表示するだけならい、例えばsetColumns
やaddColumn
でプロパティ名で指定するか、
grid.setColumns("id", "name", "detail")
少し手の混んだことをやるなら下記のようにして表示したい内容をつくることもできる。
grid.addColumn(p -> {
return p.GetProductType().toString();
})
しかし、画像を表示させたい場合に上記のaddColumn
を使ってImage
オブジェクトを返すとオブジェクトをtoString
した謎の文字列が表示されるだけ。
この場合は、addComponentColumn
を使えばよい。
grid.addComponentColumn(p -> {
return new Image("files/"+p.getIconName(), "icon");
});
コメント