0

flexigrid に行を直接追加し、行を直接更新しようとしましたが、flexAddData は常に古い行を表示します。行を直接更新する方法は? 何か案が ?助けてください 申し訳ありません 私の英語がうまくありません

        if ( flag == 'add' ){ 
        $.ajax({
        type    : "POST",
        url : "tr_procurement_data.php",
        data    : "process=prod_name&id_prod="+id_prod+"&qty_pad="+qty_pad+"&hb_pad="+hb_pad ,
        dataType : "json",                
        success : function(data){
            //add record to array
            rows.push({id: [data.id_prod], cell: [ data.id_prod, data.nm_prod, data.qty_pad, data.hb_pad ] });
            data = {
                total: 1,    
                page:1,
                rows: rows}
            $("#flex1").flexAddData(data);
        }
        });
    } 
    if ( flag == 'edit' ){  

        var fgrid = getAllRow();   //save array
        var fleng = fgrid.length;
        fgrid.forEach(function(row) { alert(row);
            if ( id_prod == row[0] ){
                rows.push({id: [row[0]], cell: [ row[0], row[1], qty_pad, hb_pad ] });
            }else{
                rows.push({id: [row[0]], cell: [ row[0], row[1], row[2], row[3] ] });
            }
        }); 
        data = {    total: fleng,  page:1,  rows: rows}

        deleteRow();
        $("#flex1").flexAddData(eval(data));            

    }    
}


function deleteRow() { 
  $("[id^=row]").each(function() { 
        $(this).find('div').each(function() {  alert( $(this).html() );
            $(this).remove();
     });
    });
}

function getAllRow() {
    var arrReturn        = [];
    $("[id^=row]").each(function() {
            var arrRow                = [];
            $(this).find('div').each(function() {
                    arrRow.push( $(this).html() );
            });
            arrReturn.push(arrRow);
    });
    return arrReturn; 
}

それが私のコードの希望です

4

2 に答える 2

0

flexReloadを使ってみませんか?これにより、グリッド内の現在のデータが更新されます

于 2012-12-21T14:27:08.533 に答える
0

あなたはこれを必要とします:

$("#flex1").flexigrid({
  
  dataType : 'json',
  colModel : [{ ... }]
  
}).flexAddData({
  
  total: 1, 
  page: 1, 
  rows: [{ cell: [ "value1", "value2", "value3"] }] 
  
}); 

于 2016-01-02T21:23:05.147 に答える