jqgrid addrowdata после вызова ajax - PullRequest
1 голос
/ 26 июля 2011

У меня есть вопрос относительно добавления других строк данных в конце моей jqgrid.Я хотел, чтобы каждый раз, когда я выполнял простой поиск по конкретной транзакции и отображал ее в своем 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); 
 })

my newRowData отображается только при загрузке, но после выполнения простого поиска он также исчезнет.Но мой jqgrid с данными ajax работает хорошо.Так как же мне сделать так, чтобы каждый раз, когда я вызываю ajax, я поддерживал свою дополнительную строку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...