2010-11-26 7 views
0

Avec la partie principale de jqGrid, il y a le paramètre postData qui peut être défini pour ajouter des éléments à la variable POST. Est-ce que je pourrais faire la même chose avec navGrid?Besoin d'aide avec jqGrid et navGrid

Voici ce que j'ai:

script principal jqGrid

$("#"+id).jqGrid({ 
     url:baseURL+'modules/'+module+'/config.php', 
     postData: {event: 'load-content',content : id,module: module}, 
     datatype: 'json', 
     mtype: 'POST', 
     colNames:colNames, 
     colModel:colModel, 
     pager: '#pager', 
     rowNum:limit, 
     rowList:[10,20,30], 
     autowidth: true, 
     sortname: sortby, 
     sortorder: 'desc', 
     gridview: true, 
     viewrecords: true, 
     caption: title, 
     editurl: baseURL+'modules/'+module+'/config.php' 
    }); 

navGrid scénario

jQuery("#"+id).jqGrid('navGrid','#pager', 
    {del:true,add:true,edit:true}, //options 
    {height:280,reloadAfterSubmit:false}, // edit options 
    {height:280,reloadAfterSubmit:false}, // add options 
    {reloadAfterSubmit:false}, // del options 
    {}); 

Ce que je veux est d'ajouter {module: module, event: 'del-test'} au POST du bouton Supprimer.

Répondre

0

Modifier votre code de cette façon

$("#" + id).jqGrid('navGrid', '#pager', 
    { add: true, edit: true, del: true }, 
    { height:280, reloadAfterSubmit:false }, 
    { height:280, reloadAfterSubmit:false }, 
    { 
     // settings for Delete 
     mtype: "post", 
     reloadAfterSubmit: false, 
     onclickSubmit: function (rp_ge, postdata) { 
      rp_ge.url = '<%: Url.Content("~/URL/TO/DELETE/METHOD/HERE") %>' + postdata; 
     }, 
     serializeDelData: function (postdata) { 
      postdata.module = module; 
      postdata.event = 'del-test'; 
      return postdata; 
     } 
    }, 
    {}, 
    {} 
); 
1

Vous pouvez également utiliser d'autres editData (pour ajouter ou modifier les opérations) ou delData paramètre (pour l'opération de suppression) et modifier les del options utilisées comme paramètre de 'navGrid' de

{reloadAfterSubmit:false} 

à

{reloadAfterSubmit:false, editData:{module: module, event: 'del-test'}} 

(la variable module doit être définie auparavant).

Soit dit en passant, comme avec le paramètre postData (voir this ancienne réponse), vous pouvez utiliser la fonction pour toute propriété de paramètre editData:

{ 
    reloadAfterSubmit:false, 
    delData: { 
     module: function() { 
      return "bla bla"; 
     }, 
     event: 'del-test' 
    } 
} 
+0

J'ai essayé editData mais il n'envoie toujours pas les variables de module et d'événement. – WAC0020

+0

@ WAC0020: Désolé, de cause pour l'opération de suppression, le nom du paramètre doit être 'delData' (voir http://www.trirand.com/jqgridwiki/doku.php?id=wiki:form_editing#properties2). Le paramètre 'editData' est utilisé uniquement dans l'opération d'ajout ou d'édition. Je vais changer le texte de ma réponse. – Oleg

1

Je sais qu'il est longtemps que vous avez publié cette question, je voulais pour l'améliorer de toute façon le wiki pages vous montre l'utilisation de base du navgrid et this est la réponse qui a fonctionné pour moi.

Cordialement,