2010-12-15 7 views
5

Hallo Ich habe eine jqgrid mit einem Untergitter, das in ein Servlet aufruft. Ich sende einige Daten an das Servlet mit POST, aber die gleichen Daten werden nicht gesendet, wenn der Aufruf für das Untergitter erfolgt. Das ist mein JS:PostData für Untergitter in jqgrid funktioniert nicht?

$("#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}); 

Also, wie kann ich PostData auch in das Subgitter-Servlet? Gibt es eine Möglichkeit, subgridPostData anzugeben? Danke.

Antwort

5

Ich finde den Vorschlag mit subgridPostData gut. Wahrscheinlich sollten Sie die entsprechende Feature-Anforderung im trirand forum veröffentlichen.

Jetzt können Sie die gleiche Funktion selbst mit dem Ereignis serializeSubGridData implementieren. Definieren Sie einfach einen neuen jqGrid Parameter mit dem Namen, den Sie möchten, zum Beispiel subgridPostData und verwenden Sie es innerhalb Ihrer serializeSubGridData Ereignishandler:

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

Dank, dass es tat! – Tarelli

Verwandte Themen