如何在更新列后重新加载单个jqGrid行以运行自定义Formatter

时间:2014-09-18 04:02:50

标签: jqgrid

我有一个带服务器端分页的jqGrid。

我在行的某些列上有一个自定义格式化程序,根据隐藏列的文本突出显示这些列中的单词。

在某些操作之后,隐藏列中的文本会发生变化,突出显示也会发生变化。但是当我使用 setRowData 更新隐藏列的值时,不会触发自定义格式化程序。

搜索了一段时间后,我发现格式化程序只在创建行时调用,而不是在更新时调用。

最后,我必须重新加载整个网格以进行必要的更改,但这会导致性能问题。

更新行后是否有办法刷新行或触发colmodel属性? 我可以删除然后在同一个地方添加行吗?

只是提示就足够了。过去2天我一直在搜索,但还没有找到解决方案。

1 个答案:

答案 0 :(得分:0)

如前所述...... setRowData不会触发格式化程序方法,以便正确生成单元格内容。因此,解决此问题的一种方法是单独更新列。使用提供的功能来存档:

jQuery("#positions_grid_body").jqGrid('setCell', idRow,index,the_data_of_the_cell);
  

其中index可以是引用列名称的字符串,也可以是引用列位置的数字(从cero开始)。

希望它有所帮助!

相关问题