easyui前台改變datagrid某單元格的值


有時候前台完成某個操作后要修改datagrid的值, 也許這個datagrid是沒有保存的, 所以要修改后才能傳遞到后台; 也許要其他操作過后才需請求后台; 這些情況都需要前台對datagrid的單元格進行修改操作:

假設我們有一個” staffLogDetailGrid”的datagrid;

// 得到columns對象
var columns = $('#dg').datagrid("options").columns;
// 得到rows對象
var rows = $('#dg').datagrid("getRows"); // 這段代碼是// 對某個單元格賦值
rows[lastIndex][columns[0][5].field]=新的值;
// 刷新該行, 只有刷新了才有效果
$('#dg').datagrid('refreshRow', lastIndex);

  

如果該行處於"行編輯"狀態, 如果直接調用"refreshRow"方法. 會報data is undefined這個錯; 需要先調用"endEdit", 再調用"refreshRow", 最后調用"selectRow"和"beginEdit"這兩個方法便可了; 一定要先關閉行編輯才能刷新, 不然要報錯的...這個問題搞了我很久額...代碼如下:

$('#dg').datagrid('endEdit', lastIndex).datagrid('refreshRow', lastIndex).datagrid('selectRow', lastIndex).datagrid('beginEdit', lastIndex);

還有一種方法可以進行單元格的編輯: 如下
已知行坐標為lastindex;

var row = $('#dg').datagrid("selectRow", lastIndex).datagrid("getSelected");
row.gzsj = getNowDate();
console.info(row);
$('#dg').datagrid('updateRow', row);

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM