问题描述
我想根据用户选择的单元格值进行行样式的农业网格上的条件行样式
gridoptions.getRowStyle = function(params) {
if (params.node.data === 'cell value typed by user in external/custom component i.e outside grid') {
return { 'background': value selected by user in cutom componet outside grid };
}
}
解决方法
这里有一个plunkr,应该可以给您解决问题的想法。由于我对您的组件不太了解,因此我使用了两个带有按钮的输入框来设置行的背景色,但是您也可以使用复杂的样式。
我正在使用user_type
,因为我们正在执行的操作需要在行上进行。
@sandeep的答案非常有效。我只想通过另一种方法来解决问题,即使用context
。 context
只是另一个javascript对象,其中包含您要在AgGrid中共享的所有信息。可以在大多数AgGrid回调中访问数据,例如单元格渲染器,编辑器的渲染回调以及您的getRowStyle
回调
const sickDays = // data from external component
const color = // data from external component
<AgGridReact
getRowStyle={(params) => {
const { styles,data } = params.context;
if (params.node.data["sickDays"] === data.sickDays) {
return { backgroundColor: styles.color };
}
return null;
}}
context={{
data: { sickDays },styles: { color }
}}
/>