如何在渲染 Flexigrid 表时将布尔值转换为是/否

use*_*039 1 javascript jquery flexigrid

这是我实施 Flexigrid 的方法

$('.mytable').flexigrid({
    url: '<c:url value="/callController"/>',
    dataType: 'json',
    colModel : [
        {display: 'ID', name : 'id', width : 40, sortable : true, align: 'right'},
        {display: 'Name', name : 'name', width : 150, sortable : true, align: 'left'},
        {display: 'Checkbox checked', name : 'checked', width : 150, sortable : false, align: 'left' }
        ],              
    sortname: "id",
    sortorder: "asc",
    usepager: true,
    title: false,
    useRp: false,
    rp: 15,
    showTableToggleBtn: false,
    showToggleBtn: false,
            singleSelect: true,
            striped: true,
    height: 200,
    width: 'auto'
});  
Run Code Online (Sandbox Code Playgroud)

如果您看到第三列,则“已检查”的值返回为真/假(布尔值),但我想在表格上将其显示为是/否。

有什么方法可以在渲染表格时将此真/假值转换为是/否吗?

平台:Java、SpringMVC、JQuery

Joh*_*n S 6

您可以提供一个“preProcess”回调函数来在显示之前更改/格式化 ajax 调用返回的数据:

preProcess: function(data) {
    $.each(data.rows, function(i, row) {
        row.checked = row.checked ? 'Yes' : 'No';
    });
    return data;
},
Run Code Online (Sandbox Code Playgroud)

JSFiddle 上的演示


注意:除了Flexigrid 项目页面上的以下注释之外,我并没有真正看到“preProcess”回调的记录位置:

新的 preProcess API 允许您在将服务器发送的数据传递到 Flexigrid 之前修改或处理数据,例如允许您使用自己的 JSON 格式。

然而,它的工作方式似乎与jQuery.ajax函数的“dataFilter”回调非常相似。