我有一个带服务器端分页的jqGrid。
我在行的某些列上有一个自定义格式化程序,根据隐藏列的文本突出显示这些列中的单词。
在某些操作之后,隐藏列中的文本会发生变化,突出显示也会发生变化。但是当我使用 setRowData 更新隐藏列的值时,不会触发自定义格式化程序。
搜索了一段时间后,我发现格式化程序只在创建行时调用,而不是在更新时调用。
最后,我必须重新加载整个网格以进行必要的更改,但这会导致性能问题。
更新行后是否有办法刷新行或触发colmodel属性? 我可以删除然后在同一个地方添加行吗?
只是提示就足够了。过去2天我一直在搜索,但还没有找到解决方案。
答案 0 :(得分:0)
如前所述...... setRowData不会触发格式化程序方法,以便正确生成单元格内容。因此,解决此问题的一种方法是单独更新列。使用提供的功能来存档:
jQuery("#positions_grid_body").jqGrid('setCell', idRow,index,the_data_of_the_cell);
其中index可以是引用列名称的字符串,也可以是引用列位置的数字(从cero开始)。
希望它有所帮助!