调用ajax后的jqgrid addrowdata

时间:2011-07-26 10:44:02

标签: javascript jquery ajax jqgrid

我有关于在jqgrid末尾添加另一个rowdata的问题。我想要做的是,每当我对特定事务进行简单搜索,并将其显示在我的jqgrid上时,我希望在末尾有另一行具有我的总计算量。下面是我完整的jqgrid代码:。

$("#tblSupplier").jqGrid({
        url: '',
        datatype: 'local',
        jsonReader : {
            root: function(obj) {
                var root = [];               
                if  ('error' in obj) 
                {
                    showMessage(obj.error['class'] + ' error: ' + obj['error']['msg']);
                }
                else
                {
                    var totalBdFt = '';
          var bdft=0;
          var amt=0;
          var totalAmount = '';
          $.each(obj['result']['main']['rowdata'], function(rowIndex, rowDataValue) {
                    var row = {};

            $.each(rowDataValue, function(columnIndex, rowArrayValue) {
              var fldName = obj['result']['main']['metadata']['fields'][columnIndex].name;  
              row[fldName] = rowArrayValue;
              if (fldName == 'transaction_date'){
                $('#tallyDate').val(rowArrayValue);
              }                
              if (fldName == 'supplier_name'){   
                $('#supplierName').val(rowArrayValue); 
              }                
              if (fldName == 'board_foot'){ 
                bdft = parseFloat(bdft) + parseFloat(rowArrayValue);
              }                
              if (fldName == 'total_amount'){   
                amt = parseFloat(amt) + parseFloat(rowArrayValue); 
              }                
            });           
            root[rowIndex] = row; 
            $('#totalBdft').val(parseFloat(bdft));
            $('#totalAmt').val(parseFloat(amt));
                    });
                };
                return root;
            },          
            page: "result.main.page",           
            total: "result.main.pageCount",
            records: "result.main.rows",
            repeatitems: false,
            id: "0"
        },
    serializeGridData: function(postData) {

      var jsonParams = {
      'SessionID':  $.cookie("SessionID"),
      'dataType': 'data',
      'simple_search_value':trim($("#searchSupAny").val()),
      'recordLimit': postData.rows,
      'recordOffset': postData.rows * (postData.page - 1),
      'rowDataAsObjects': false,
      'queryRowCount': true,
      'sort_fields': postData.sidx
      };              

      return 'json=' + JSON.stringify(jsonParams);
    },
    loadError: function(xhr, msg, e) { 
      showMessage('HTTP error: ' + JSON.stringify(msg) + '.');
    },
        colNames:['Transaction Num', 'Wood Classification', 'Specie', 'Total Board Foot', 'Price', 'Total Amount'], 
        colModel:[
            {name:'transaction_num'},
      {name:'wood_classification_desc'},
      {name:'wood_specie_desc'},
      {name:'board_foot'},
      {name:'price'},
      {name:'total_amount'}
        ],                              
        viewrecords: true,              
        sortname: 'transaction_num',
        sortorder: 'desc',
        loadonce:false,     
    height:'100%',
    caption: "sample summary"
    });
  var newRowData = [{ "wood_classification_desc": 'total should b here', "wood_specie-desc": "total bdft here", "total_amount": "total amount here"}];
  $("#tblSupplier").addRowData('transaction_num',newRowData); 
 })

我的newRowData仅在加载时显示,但在我进行简单搜索后,它也会消失。但我的jqgrid与ajax数据运行良好。那么每次调用ajax时我该怎么做才能维护我的附加行?

0 个答案:

没有答案