Почему эта панель инструментов jqGrid не работает? - PullRequest
1 голос
/ 09 июня 2011
jQuery("#grid").jqGrid({
    url:'admin/name.php',
    postData: {userid: user_id},
    datatype: 'json',
    mtype: 'POST',
    height: "auto",
    width: 'auto',
    rowNum: 20,
    rowList: [10,20,30],
    colNames:[' name','Job ',' Term','Date'],
                  colModel :[
                    {name:'name', index:'name', width:100},
                    {name:'Job', index:'Job', width:150},
                    {name:'Term', index:'Term', width:70},
                    {name:'Date', index:'Date', width:100},

                                          ],

    pager: "#p_grid",
    viewrecords: true,
    toolbar: [true, 'both'],
    caption: "grid",


});

$("#grid").jqGrid('navGrid','#p_grid',{edit:true,add:true,del:true,search:true,refresh:true}); 

jQuery("#grid").filterToolbar({ searchOnEnter: false });  

1 Ответ

3 голосов
/ 10 июня 2011

Вероятно, причиной вашего вопроса является неправильное понимание того, как метод filterToolbar работает в случае datatype: 'json', который вы используете. Метод просто устанавливает дополнительный параметр в postData и запускает обновление сетки. Информация с панели инструментов поиска будет отправлена ​​на сервер, а сервер отвечает за фильтрацию данных . Если вы пишете, что filterToolbar не работает, то код сервера просто игнорирует информацию фильтра.

Если вы хотите, чтобы фильтрация, разбиение на страницы и сортировка данных выполнялась на стороне клиента (сама jqGrid), вы можете использовать loadonce:true параметр jqGrid. В случае, если сервер должен отправить обратно не первую страницу данных, а целые данные сетки. После первой загрузки данных jqGrid изменит datatype: 'json' на datatype: 'local', а позже jqGrid выполнит локальную сортировку, разбиение по страницам и фильтрацию данных.

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