jqGrid filterToolbar, передающий _search: false при поиске - PullRequest
1 голос
/ 22 сентября 2011

Я использую jqGrid уже несколько месяцев, и я создал несколько сеток данных с параметром filterToolbar:

$('#grid_id').jqGrid('filterToolbar');

В прошлом он отлично работал (передавал массив POSTпеременные для страницы php, определенные в опции url в определении jqGrid, из которых есть одна переменная "_search: true").Самая последняя сетка, которую я сделал, после нажатия клавиши enter на filterToolar, она просто перезагружает сетку ... передавая "_search: false" в скрипт php.Кто-нибудь знает, почему это будет происходить?вот сценарий;

$('#processed_list').jqGrid({
    url:'/phpAJA?&sql=' + sql,
    editurl: '/phpAJAX?sql=' + sql,
    height: 225,
    width: 600,
    datatype: 'xml',
    mtype: 'POST',
    colModel:[
        {name:"Invoice Num",index:"InvoiceNum",width:"8"},
        {name:"Job Num", index:"JobNum",width:"8"},
        {name:"Customer",index:"Customer",width:"16"},
        {name:"Emailed To",index:"to_email",width:"16"},
        {name:"Date Processed",index:"timestamp",width:"16"}
    ],
    pager: '#pager',
    rowNum:10,
    rowList:[10,20,30],
    sortname: 'invid',
    sortorder: 'desc',
    viewrecords: true,
    gridview: true,
    caption: 'Processed Invoices',
    editable: false
});
$("#processed_list")
.jqGrid('navGrid', '#pager', {edit: false,add: false, del: false, search: false, refresh:true},{},{},{},{},{})
.jqGrid('navButtonAdd',"#pager",{
    caption:"reprint invoice", buttonicon:"ui-icon-print", onClickButton:function(){ ...some function... }, position: "last", title:"", cursor: "pointer"
})
.jqGrid('filterToolbar');

Как я уже сказал, все работает, кроме случаев, когда я пытаюсь выполнить поиск toolbarFilter, он просто перезагружает сетку (передавая "_search: false" сценарию php).

Любая помощь будет очень признателен.

Спасибо.

1 Ответ

2 голосов
/ 28 сентября 2011

Так что я разобрался в проблеме с небольшим методом проб и ошибок.FilterToolbar ссылался на имена столбцов в colModel, а не на индекс, на который он должен ссылаться.Поэтому в опции colModel в определении jqGrid мне нужно изменить имена на настоящие имена в базе данных, а затем добавить другую опцию colName для сброса заголовков столбцов на веб-странице.Смотрите следующий код:

$('#processed_list').jqGrid({
    url:'/phpAJAX?sql=' + sql,
    editurl: '/phpAJAX?sql=' + sql,
    height: 225,
    width: 600,
    datatype: 'xml',
    mtype: 'POST',
    colNames:["Invoice Num","Job Num","Customer","Emailed To","Time Sent"],
    colModel:[
        {name:"InvoiceNum",index:"InvoiceNum",width:"8"},
        {name:"JobNum", index:"JobNum",width:"8"},
        {name:"Customer",index:"Customer",width:"16"},
        {name:"to_email",index:"to_email",width:"16"},
        {name:"timestamp",index:"timestamp",width:"16"}
    ],
    pager: '#pager',
    rowNum:10,
    rowList:[10,20,30],
    sortname: 'invid',
    sortorder: 'desc',
    viewrecords: true,
    gridview: true,
    caption: 'Processed Invoices',
    editable: false
});
...