如何为Ag-grid中的特定行着色?

时间:2019-07-18 12:21:43

标签: angular ag-grid-angular

我有一个网格网格,我只想给一些行号上色。例如,经过处理后,我发现我只能对行1、4和5进行着色。

我尝试了ag-grid的getRowStyle函数,但是徒劳

gridOptions.getRowStyle = function(params) {
    if (params.node.rowIndex % 2 === 0) {
    return { background: 'red' }
    }
}

2 个答案:

答案 0 :(得分:0)

以下是一些代码directly from the documentation

如果您只需要为某些行着色。您需要知道为哪些行上色。我假设您对此有状态。也许叫indices的变量?

indices: Array<number> = [1,4,5]; // color these rows

gridOptions.getRowStyle = (params) => { // should use params, not indices in the first braces. Binds the component to this. Can use indices in the function now
    if (this.indices.includes(params.node.rowIndex)) {
        return { background: 'red' }
    }
}

如果需要更多帮助,则需要更加具体。我不知道什么是行不通的。

Here is a Plunkr with an example。我不确定您如何在项目中进行所有设置,但是您可能会得到一些有关如何修改代码以适应我从ag-grid文档调整的示例的想法。希望示例有帮助

答案 1 :(得分:0)

您可以尝试这样做吗,因为您要根据对行的处理来突出显示行,因此应遵循以下规则并突出显示行

gridOptions.rowClassRules: {
  // apply green to 2008
  'rag-green-outer': function(params) { return params.data.year === 2008},

  // apply amber 2004
  'rag-amber-outer': function(params) { return params.data.year === 2004},

  // apply red to 2000
  'rag-red-outer': function(params) { return params.data.year === 2000}
}

这样,您可以根据条件为行着色。这仅取自ag gird webporal。