日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了如何根據Vaadin14中的數據為網格的行或單元格著色的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

假設我有一個Grid<Person>和一些返回枚舉的person.getStatus()

enum Status {
SINGLE, MARRIED, DIVORCED
}

我想根據此枚舉的值為網格的列著色。

如何才能做到這一點?

推薦答案

在Vaadin14中

基于數據設置網格行的樣式

首先,您需要為該行設置CSS類名稱生成器。這會將CSS類名稱添加到Grid創建的TD元素中。生成器函數接收您的項,您應該以字符串形式返回CSS類名稱,如果不想為某些行添加類名稱,則返回NULL。可以以空格分隔的形式從生成器返回多個類名。

grid.setClassNameGenerator(person -> {
    if (person.getStatus() == Status.DIVORCED || person.getStatus() == Status.SINGLE) {
        return "my-style-1";
    } else {
        return "my-style-2";
    }
});

若要基于CSS類名稱更改樣式,您需要為網格創建主題。

frontend/styles文件夾中添加styles.css

td.my-style-1 {
    background-color: black;
    color: hotpink;
}

td.my-style-2 {
    background-color: hotpink;
    color: black;
}

并將樣式包含到您的應用程序中。

@Route
@CssImport(value = "./styles/styles.css", themeFor = "vaadin-grid")
public class MainView extends VerticalLayout {
// your code for grid
}

基于數據設置網格單元格樣式

CSS樣式導入和創建的方式與行樣式相同,但使用的網格API不同。

對于單元格,您應該使用列類名生成器:

grid.getColumnByKey("status").setClassNameGenerator(person -> {
    if (person.getStatus() == Status.SINGLE) {
        return "my-style-3";
    }
    return null;
});

這篇關于如何根據Vaadin14中的數據為網格的行或單元格著色的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:Vaadin14 單元格 數據 著色 網格
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定