因為項目的需求,需要在grid中加載數據后再在前端頁面執行操作,所以在easyui中的grid與jqgrid都進行了測試和操作;
eayui中grid數據的操作:
1 //構造集合對象 2 var list = []; 3 var rows = $("#grid").datagrid("getRows"); 4 for (var i = 0; i < rows.length; i++) { 5 list.push({ 6 'Qfk_id': rows[i].Qfk_id 7 ,'Qfk_code': rows[i].Qfk_code 8 ,'Yz_name': rows[i].Yz_name 9 ,'Yzlx_name': rows[i].Yzlx_name 10 ,'Qfklx_name': rows[i].Qfklx_name 11 }); 12 13 } 16 var postData = JSON.stringify(list);
jqgrid中數據的操作:
1 //構造集合對象 2 var list = []; 3 var ids = $('#grid').getDataIDs();//返回數據表的ID數組 4 for (var i = 0; i < ids.length; i++) { 5 var getRow = $('#grid').getRowData(ids[i]);//獲取當前的數據行 6 list.push({ 7 'Qfk_id':getRow.Qfk_id 8 ,'Qfk_code': getRow.Qfk_code 9 ,'Yz_name': getRow.Yz_name 10 ,'Yzlx_name': getRow.Yzlx_name 11 ,'Qfklx_name': getRow.Qfklx_name 12 }); 13 } 14 var postData = JSON.stringify(list);
jqgrid中在前端修改數據:
var ids = $('#grid').getDataIDs();//返回數據表的ID數組 var len = ids.length; for (var i = 0; i < ids.length; i++) { var getRow = $('#grid').getRowData(ids[i]);//獲取當前的數據行 //setcell修改值;i+1為修改行數;'weizhi'為列ID,value是要修改的值 $("#grid").jqGrid('setCell', i + 1, 'weizhi', value); }
在使用過程中,當需要一次性加載所有數據且不允許使用分頁的情況下,jqgrid確實要比easyui的grid性能好一些,當然不同瀏覽器也差別明顯;