2010-04-01 5 views
2

Contexte: Notre entreprise a sélectionné un outil de workflow qui a certaines restrictions de l'interface utilisateur « interersting ». jqGrid a été identifié comme l'un des meilleurs moyens de surmonter ces restrictions. Par conséquent, les réponses à cette question doivent être limitées à la fonctionnalité disponible dans l'espace jqGrid. Cela me fait mal de poser cette question et je sais que vous serez tenté de descendre sur un million d'autres chemins - la plupart que nous avons déjà parcouru auparavant. :(Peupler une colonne à la suite d'effectuer les mathématiques sur deux colonnes dans un jqGrid

Question: Can jqGrid peut-il remplir une colonne suite à l'exécution de calculs sur deux autres colonnes, dont la source est sous notre contrôle, ce qui nous permet de "garantir" que les données numériques seront renvoyées. . résultat est quelque chose que nous SIMPLAY à afficher sur la demande, mais pas encore stocker sur l'exemple ci-dessous, est-il une fonction qui permet la colonne « total » à être alimenté à partir du calcul suivant: « montant » * « taxe »

Exemple javascript jqGrid:

jQuery("#list3").jqGrid({ 
    url:'server.php?q=2', 
datatype: "json", 
    colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'], 
    colModel:[ 
    {name:'id',index:'id', width:60, sorttype:"int"}, 
    {name:'invdate',index:'invdate', width:90, sorttype:"date"}, 
    {name:'name',index:'name', width:100}, 
    {name:'amount',index:'amount', width:80, align:"right",sorttype:"float"}, 
    {name:'tax',index:'tax', width:80, align:"right",sorttype:"float"}, 
    {name:'total',index:'total', width:80,align:"right",sorttype:"float"}, 
    {name:'note',index:'note', width:150, sortable:false} 
    ], 
    rowNum:20, 
    rowList:[10,20,30], 
    pager: '#pager3', 
    sortname: 'id', 
    viewrecords: true, 
    sortorder: "desc", 
    loadonce: true, 
    caption: "Load Once Example" 
}); 
+0

Je crois que cette réponse est ce que vous cherchez: http://stackoverflow.com/a/6690875/1415352 – keithxm23

Répondre

0

voulez-vous ce calcul à effectuer lorsque la grille est d'abord chargé Si oui, vous? pourrait spécifier une fonction en tant que type de données. Par exemple:

datatype: function(postdata) { 
    jQuery.ajax({ 
     url: 'example.php', 
     data:postdata, 
     dataType:"xml", 
     complete: function(xmldata,stat){ 
      if(stat=="success") { 
      var thegrid = jQuery("#list3")[0]; 

      // Loop over the XML one row at a time here, 
      // Calculate total, and call addRowData to add it to the jqGrid 
      } 
     } 
    }); 
}, 

Sinon, si vous modifiez les données et que vous souhaitez effectuer le calcul lorsque le montage est terminé, pourriez-vous s'il vous plaît donner plus d'informations telles que le type de l'édition, vous effectuez (en ligne, sous forme , etc)?

Questions connexes