Опция пользовательского форматирования jqGrid unformat не работает

Опция пользовательского форматирования jqGrid «неформат» не работает, если она поставляется с функцией.

Я предоставляю функцию этой опции. пример пользовательского форматирования должен работать, но не работает.

Моя основная цель наличия функции unformat - дать правильное значение функции сортировки (когда вы сортируете, щелкнув заголовок сортируемого столбца), которая вызывает unformat и formatter, предоставленные colModel.

Вот мой код (все модули включены для пользовательского интерфейса jquery и jqgrid.)

<link href="../css/jquery-ui-1.8.11.custom.css" rel="stylesheet" type="text/css"/>
<link href="../css/ui.jqgrid.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../js/jquery-1.5.2.js"></script>
<script type="text/javascript" src="../js/jquery-ui-1.8.11.custom.min.js"></script>
<script type="text/javascript" src="../js/jquery.jqGrid.min.js"></script>


    $("#GridTable").jqGrid({
    datatype: "local",
    colNames: ['id', 'col1', 'col2', 'col3', 'col4'],
    colModel: [{name:'id',index:'id', align:'left', width:'260px'},
                {name:'col1',index:'col1', width:'170px'},
                {name:'col2',index:'col2', width:'160px'},
                {name:'col3',index:'col3', sorttype:'float', width:'110px',unformat: unformatterFunction, formatter: formatterFunction },
                {name:'col4',index:'col4', sorttype:'float', width:'110px'}
             ],
    altRows: true,
    caption: "Test Data",
    height: '100%',
    autowidth : true,
    shrinkToFit: true,
});

function unformatterFunction(cellvalue, options, rowObject){
    if(cellvalue=="-"){
        return "0";
    }
    return cellvalue;
}

function formatterFunction(cellvalue, options, rowObject){
    if(cellvalue > 15){
        return "-";
    }
    return cellvalue;
}

Я потратил много часов, чтобы отследить вызов в grid.base.js и не нашел способа перейти к jquery.fmatter.js, где функция unformatFunction вызывается для каждой строки. Я сомневаюсь, что unformatFunction не вызывается во время сортировки.

Я только что подтвердил, отредактировав пример, что он не работает, что-то ужасно неправильно. я не могу думать ни о каких ошибках. просто не вызывайте функцию unformat, указанную в colModel.


person Jay99    schedule 31.03.2011    source источник
comment
Что делать, если я хочу изменить CSS для формы добавления/редактирования jqgrid?   -  person Bhavik Ambani    schedule 13.08.2012


Ответы (1)


Если вам нужно настроить сортировку локального jqGrid, использование пользовательского unformatter - неправильный путь. Что вам нужно, так это использовать sorttype в качестве функции. Посмотрите старый ответ, включая демонстрацию, или этот.

Самый простой способ использовать sorttype в качестве функции - это вернуть из функции преобразованные данные, которые следует использовать для определения в соответствующей операции сравнения для определения порядка строки в сетке.

person Oleg    schedule 01.04.2011