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

时间:2014-03-19 18:46:27

标签: 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'
});  

如果看到第三列,'checked'的值将返回true / false(布尔值),但我想在表格中将其显示为是/否。

有没有办法在渲染表时将此true / false值转换为Yes / No?

平台:Java,SpringMVC,JQuery

1 个答案:

答案 0 :(得分:3)

你可以提供一个“preProcess”回调函数来改变/格式化ajax调用返回的数据:

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

Demo on JSFiddle


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

  

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

然而,似乎工作与jQuery .ajax function的“dataFilter”回调非常相似。