flexAddData无法正常工作

时间:2012-12-21 01:37:50

标签: flexigrid

我直接在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; 
}

这是我的代码希望

2 个答案:

答案 0 :(得分:0)

为什么不使用flex Reload?这将刷新网格中的当前数据

答案 1 :(得分:0)

你需要这个:

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