使用 OData SAPUI5/JAVASCRIPT 中的值放置背景颜色

Put background color with values from OData SAPUI5/JAVASCRIPT

我需要使用从 OData 获取的值设置 背景颜色 。我有以下代码:

oModel.read("/EspCoSet", {
    filters: [aFilters],
    success: function (oD, oR) {
        var oResults = oD.results;
        for (var i = 0; i < oResults.length; i++) {
            var color_fondo = oResults[i].ColorFondo;
            var color_texto = oResults[i].ColorTexto;
        }
    },
    error: function (oE) {
        console.log("Error");
    }
});

在变量“color_fondo”中,我以十六进制格式保存颜色值,如“FFFFFF”。有什么方法可以将这个值放到相应的单元格中而无需触摸 css。我看了这个方法:

[data-esp="Hospitalizado"] * {
  background-color:   #FFFFFF !important;
  color: red !important;
}

但如果我这样做,我需要再次写入信息(来自 OData 的信息),然后来自 OData 的值没有任何用处。可以吗?

我找到了一个解决方案,就是将网上的一些答案合并。 为了从 OData 获取颜色,我稍微更改了后端。我的 table 之前是十六进制的颜色,现在我改成了这样的字母:

color_fondo  |  color_texto
WHITE        |  BLACK
BLUE         |  RED  
GREEN        |  BLACK

然后,在 css 中,我将颜色名称作为 class,如下所示:

.BLUE {
    background-color: #9dcfdd !important;
}

最后在控制器中,当我读取模型并获得每个患者的相应颜色时,我得到每个单元格的项目并使用 addStyleClass 我应用 color_fondo 这是来自 OData 的变量。

oModel.read("/EspCoSet", {
    filters: [aFilters],
    success: function (oD, oR) {
        var oResults = oD.results;
        for (var i = 0; i < oResults.length; i++) {
            var color_fondo = oResults[i].ColorFondo;
            var color_texto = oResults[i].ColorTexto;
            var aItems = oTable.getItems();
            aItems[i].addStyleClass(color_fondo);
            aItems[i].addStyleClass(color_texto);
        }
    },
    error: function (oE) {
        console.log("Error");
    }
});

我终于在前端获得了颜色。我把它留在这里是因为我找不到任何从 OData 获取颜色的示例,可能会对某人有所帮助。顺便说一句,我的英语不好,我希望一切都清楚。

注意:对于文本颜色,您需要输入 css *:

.RED *{
    color: #c63637 !important;
}