jqgrid 每次 formatter 执行 searchoptions.dataInit
时间: 2024-03-03 21:48:38 浏览: 157
使用jquery的datagrid经常遇到的问题
4星 · 用户满意度95%
在 jqGrid 中,每次 formatter 执行时都会执行 searchoptions.dataInit,这是因为 formatter 用于格式化单元格的值,而 searchoptions.dataInit 用于初始化搜索表单元素的值。
如果想要避免每次 formatter 执行时都执行 searchoptions.dataInit,可以将 searchoptions.dataInit 放在 $(document).ready() 中执行,例如:
```
$(document).ready(function() {
// 初始化搜索表单元素的值
$("#grid").jqGrid("setColProp", "columnName", {
searchoptions: {
dataInit: function(elem) {
// 初始化搜索表单元素的值
}
},
formatter: function(cellValue, options, rowObject) {
// 格式化单元格的值
}
});
});
```
这样,searchoptions.dataInit 只会在页面加载时执行一次,而不会在每次 formatter 执行时都执行。需要注意的是,如果搜索表单元素的值需要动态更新,可以在 formatter 中更新搜索表单元素的值,而不需要使用 searchoptions.dataInit。
阅读全文