1 like 0 dislike
77 views
in Vaadin by
reshown by anonymous
Vaadin 8 grid kolonlarını html olarak formatlamak istiyorum.

1 Answer

0 like 0 dislike
by anonymous Bilge (165k points)

1. MyModel bizim entity classımız olsun. Bir de integer değer döndüren getStatus metodumuz bulunsun.

gridInvoice.addColumn(MyModel::getStatus).setStyleGenerator((MyModel item) -> {
            if (item.getStatus() == 1) {
                return "css-etiketim";
            } else {
                return "diger-css-etiketim";
            }
}).setCaption("Durum");

2. Ya da HtmlRenderer kullanabilirsiniz.

gridInvoice.addColumn(mymodel -> getColor(mymodel.getStatus()), new HtmlRenderer()).setCaption("Durum");

private String getColor(int i) {
        String color;
        if (i == 1) {
            color = #0000FF;
        } else {
            color =FF0000;
        }
        String iconCode = "<span class=\"v-icon\" style=\"font-family: "
                + FontAwesome.CIRCLE.getFontFamily() + ";color:" + color + "\">&#x"
                + Integer.toHexString(FontAwesome.SQUARE.getCodepoint()) + ";</span>";
        return iconCode;
    }

...