jQgrid фильтрация столбцов не работает в одном столбце - PullRequest
0 голосов
/ 19 октября 2019

jQgrid таблица работает нормально. В последней строке я включил фильтрацию столбцов. Поиск / фильтрация в другом столбце работает нормально. Но не работает над столбцом Status, который был сгенерирован из formatter

$('#jqGrid').jqGrid({
    datatype: "local",
    data    : res.data,
    colModel: [
        {
            label : 'Batch No.', name:'batch_no', firstsortorder:'asc'
        },
        {
            label : 'Batch Wt.', name:'expected_batch_wt', formatter:'number', align:'right'
        }
        ,
        // ... 
        // ...

        {
            label : 'Status'
            ,formatter:function (cellvalue, options, rowObject){
                if(condition)
                    status = 'MSG 1';
                else if(condition)
                    status = 'MSG 2';
                else
                    status = 'DEF MSG';
                return status;
            }
            ,align : 'center'
            // ,sortable : false
        }
    ],
    rowNum              : 1000,
    rownumbers          : true,
    pager               : '#jqGridPager',
    caption             : `CURRENT STOCK REPORT`,
    height              : '500px',
    width               : '1500',
    footerrow           : true,
        userDataOnFooter    : true,
    gridComplete        : function(){
        var $grid               = $('#jqGrid'),
            sum_batch_count     = $grid.jqGrid('getCol', 'batch_no', false, 'count'),
            sum_batch_wt        = $grid.jqGrid('getCol', 'expected_batch_wt', false, 'sum');
        $grid.jqGrid('footerData', 'set', { 
            'batch_no'              : sum_batch_count,
            'expected_batch_wt'     : sum_batch_wt
        });
    }
});

jQuery("#jqGrid").jqGrid('filterToolbar', { stringResult: true, searchOnEnter: false, defaultSearch: "cn" });

1 Ответ

0 голосов
/ 21 октября 2019

В вашем случае тип данных является локальным, и средство форматирования показывает определенное значение в зависимости от условия. Это значение не связано с вашими фактическими локальными данными. Когда тип данных является локальным, поиск выполняется в локальном массиве данных - в вашем случае это: res.data . Поскольку эти данные не содержат ваши новые построенные значения, поиск ничего не возвращает.

Для решения проблемы одним из возможных решений является использование функции неформатирования.

В зависимости от используемой версии jqGrid (Guriddo jqGrid, free-jqGrtid, jqGrid <= 4.7) у вас есть различные параметры, но необходимо знать версию. Я также рекомендую вам поискать этот сайт для решения вашей проблемы. </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...