postData для подсетки в jqgrid не работает? - PullRequest
5 голосов
/ 15 декабря 2010

Привет, у меня есть jqgrid с подсетью, которая вызывает сервлет. Я отправляю некоторые данные сервлету, используя POST, но те же данные не отправляются при вызове подсетки. Это мой JS:

$("#testsTable").jqGrid({
  mtype: "POST",
  url: "GetCurrentStatusServlet",
  postData: {buildPath :"C:\\Test\\01"},
  datatype: "xml",
     colNames:['TestCase Name', 'Last Update', 'Status'],
     colModel:[
      {name:'name',index:'name', width:90},
      {name:'lastupdate',index:'lastupdate', width:100},
      {name:'status',index:'status', width:80, align:"right"}   
     ],
     rowNum:10,
     autowidth: true,
     rowList:[10,20,30],
     pager: $('#pager1'),
     sortname: 'id',
     viewrecords: true,
     multiselect: true,
  caption: "Tests",
     sortorder: "desc",
     subGrid: true,
     subGridUrl : "GetCurrentStatusServlet",
     subGridModel: [ {
       name:  ['TestCase Name', 'Last Update', 'Status'],
       width : [100, 200, 80],
       params: ['name']}]
 }).navGrid('#pager1',{edit:false,add:false,del:false}); 

Так как же я могу публиковать данные и в подсетке подсетки? Есть ли способ указать subgridPostData? Спасибо.

1 Ответ

5 голосов
/ 15 декабря 2010

Я считаю предложение с subgridPostData хорошим. Возможно, вы должны опубликовать соответствующий запрос на форуме trirand .

Теперь вы можете реализовать ту же самую функцию, используя событие serializeSubGridData . Просто определите новый параметр jqGrid с именем, которое вам нравится, например subgridPostData, и используйте его внутри вашего serializeSubGridData обработчика событий:

$("#testsTable").jqGrid({
    ...
    subGrid: true,
    subGridUrl: "GetCurrentStatusServlet",
    subgridPostData: {foo: "bar"},
    serializeSubGridData: function(postdata) {
        return $.extend(postdata, this.p.subgridPostData);
    },
    ...
});
...