可以通过调用setColProp来更改列格式化程序吗?

时间:2014-01-09 14:19:01

标签: javascript jqgrid

我使用setColProp函数设置formatter属性:

existingGrid.setColProp('SelectAction', {
    formatter: function() {
        return "<span class='ui-icon ui-icon-plus' style='display:inline-block' title='Add item'></span>";
    }
});

但是调试器显示格式化程序是作为长度为0的函数添加的? 这会发生什么?

1 个答案:

答案 0 :(得分:2)

是的,可以使用setColProp来更改formatter。重要的只是理解何时将使用格式化程序。格式化程序使用的最常见情况是使用数据填充网格。因此,如果您想要从服务器加载数据并根据服务器响应更改格式化程序,则必须使用beforeProcessing回调。如果您尝试更改loadComplete回调中的格式化程序,例如,在当前数据处理期间不会使用更改。

The old answer提供了格式化程序动态设置的示例。

顺便说一句,您可以扩展$.fn.fmatter以定义新的自定义格式化程序,您可以将其与预定义的格式化程序一起使用。请参阅formatter: "dynamicLink"formatter: "checkboxFontAwesome4"作为示例。