Как преобразовать логическое значение в Да / Нет при отображении таблицы flexigrid

0

Вот как я реализую 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 (Boolean), но я хочу отобразить его как Yes/No в таблице.

Есть ли способ преобразовать это значение true/false в Yes/No при рендеринге таблицы?

Платформа: Java, SpringMVC, JQuery

  • 0
    Yes/No по-прежнему булево, и помните: вы можете делать с булевыми значениями все, что хотите, с помощью условных выражений. Вот для чего они. if (boolean-is-true) { // do something } else { //do something else }
  • 0
    Спасибо за ваш ответ, где мне нужно поместить эти условия для преобразования значений при отображении таблицы ...
Показать ещё 3 комментария
Теги:
flexigrid

1 ответ

2
Лучший ответ

Вы можете предоставить функцию обратного вызова "preProcess" для изменения/форматирования данных, возвращаемых вызовом ajax, прежде чем он будет отображаться:

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

Демо на JSFiddle


Примечание. Я действительно не вижу, где обратный вызов "preProcess" документирован, кроме следующего примечания на странице проекта Flexigrid:

Новый API PreProcess позволяет вам изменять или обрабатывать данные, отправленные сервером, прежде чем передавать его на Flexigrid, что позволяет использовать, например, собственный формат JSON.

Тем не менее, похоже, он работает почти так же, как обратный вызов " .ajax функции jQuery .ajax.

  • 0
    Ура!!! Это сработало с небольшим исправлением, оно должно быть row.cell.checked вместо row.checked. Огромное спасибо...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню