setGridParam ({datatype: 'json', page: 1}). триггер ('reloadGrid') не работает - PullRequest
1 голос
/ 01 февраля 2012

Я не уверен, что не так, но это не работает со мной, ниже приведен мой код, но при перезагрузке не создавать никаких запросов к серверу.

    $("#timecard-summary-grid").jqGrid({
    url:'grid/grid_timecard_summary.php',
    datatype: 'xml',
    mtype: 'GET',
    colNames:['Date','Day','Time In','Time Out','Normal','Late','Undertime'],
    colModel :[
      {name:'date', index:'date', width:90, editable:false, align:"center", editrules:{required:true}},
      {name:'day', index:'day', width:70, editable:false, align:"center", editrules:{required:true}},
      {name:'t_in', index:'t_in', width:80, editable:false, align:"center", editrules:{required:true}},
      {name:'t_out', index:'t_out', width:80, editable:false, align:"center", editrules:{required:true}},
      {name:'tdiff', index:'tdiff', width:80, editable:false, align:"center", editrules:{required:true}},
      {name:'late', index:'late', width:80, editable:false, align:"center", editrules:{required:true}},
      {name:'undertime', index:'undertime', width:80, editable:false, align:"center", editrules:{required:true}}
    ],

    height: 'auto',
    pager: '#timecard-summary-pager',
    rowNum:10,
    rowList:[10,20],
    sortname: 'date',
    sortorder: 'desc',
    loadonce: true, // to enable sorting locally
    viewrecords: true,
    gridview: true,
    editurl: 'grid_summary_editurl.php',
    caption: '<span style="margin-left:10px;">Timecard Summary</span>',

    });
    $("#timecard-summary-grid").jqGrid('navGrid',"#timecard-summary-pager",
    {edit:false,add:false,del:false,search:true,refresh:true},
    {zIndex:5234}, //option for edit
    {zIndex:5234}, // for add
    {zIndex:5234}, // del
    {zIndex:5234,   multipleSearch:true, multipleGroup:true} // search
    ); 
    $("#timecard-summary-id").jqGrid("setGridParam",{datatype:"xml"}).trigger("reloadGrid");

Куда мне положить курок?

1 Ответ

2 голосов
/ 01 февраля 2012

Прежде всего код, который вы разместили (jqGrid("setGridParam",datatype:"xml"})), содержит синтаксическую ошибку: нет открытых «{».Я надеюсь, что проблема существует только в тексте вашего вопроса, а не в исходном коде.

Следующая проблема: вы попытались изменить datatype и перезагрузить сетку сразу после того, как сетка будетбыть созданным .Проблема в том, что вы используете datatype: 'xml' в jqGrid.Таким образом, сразу после создания сетки запрос на сервер будет отправлен в ajax.Запрос на перезагрузку сетки во время ожидания Ajax-запроса будет просто проигнорирован, и перезагрузка не будет выполняться.

После того, как Ajax-запрос к серверу будет завершен, datatype изменится с 'xml' на * 1012.* соответствует опции loadonce: true.Так что только после полной обработки первого ответа можно выполнить код

$("#timecard-summary-id").jqGrid("setGridParam", {datatype: "xml"})
    .trigger("reloadGrid");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...