如何在UI Grid Angular中更改数据颜色

时间:2015-05-14 19:29:22

标签: angularjs angular-ui-grid

|数字| 1 3 4 |

例如,我需要显示" 1"如红色," 3"如绿色。他们在同一个牢房里。我知道我可以使用单元格类来更改一个单元格中的整个数据颜色。但那不是我想要的。

你能不能给我一些线索来解决这个问题?或者这是其他任何方式,如Angular UI或使用其他库。

由于

1 个答案:

答案 0 :(得分:2)

我怀疑这不是一个ui-grid的东西,而是一个关于如何使用角度颜色渲染数据的一般性问题。

我可能会使用自定义的cellTemplate和某种ng-style来做到这一点。问题是你的数据是如何到达单元格的 - 1 3 4来自单元格值,或者你还有其他东西在进行?

假设它们属于单元格值,那么您可能需要类似

的内容
<div ng-style="grid.appScope.setStyle(grid.appScope.left(COL_FIELD)>grid.appScope.left(COL_FIELD)</div>
<div ng-style="grid.appScope.setStyle(grid.appScope.mid(COL_FIELD)>grid.appScope.mid(COL_FIELD)</div>
<div ng-style="grid.appScope.setStyle(grid.appScope.right(COL_FIELD)>grid.appScope.right(COL_FIELD)</div>

其中 - setStyle是范围内的一个函数,它接受一个数字并决定应用于哪种样式 - left从您的数据中获取最左边的数字 - mid从您的数据中获取中间数字 - right从您的数据中获取最右边的数字

如果你的输入结构不同,那么还有其他方法可以使用cellTemplates来获得你想要的结果。

编辑:根据更多信息,我认为你想要将你的字符串呈现为html,然后将该HTML解析为单元格。我认为这是一个更广泛的问题“angularJS如何为我渲染任意HTML”,答案可能是ng-bind-html,虽然我对此并不了解。理论上,您可以在html中创建标记,然后使用cellTemplate中的ng-bind-html='COL_FIELD'将生成的标记绑定到单元格中。