我直接在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;
}
这是我的代码希望
答案 0 :(得分:0)
为什么不使用flex Reload?这将刷新网格中的当前数据
答案 1 :(得分:0)
你需要这个:
$("#flex1").flexigrid({
dataType : 'json',
colModel : [{ ... }]
}).flexAddData({
total: 1,
page: 1,
rows: [{ cell: [ "value1", "value2", "value3"] }]
});