jqgrid定時改變某個單元格的值,或是一列值


思路:

首先是在jqgrid中獲取完整的數據表格;

然后要更新數據單元格中的內容,如果想簡單粗暴,那么直接執行

 $(function () {
setInterval(function () {
$("#grid-table").jqGrid().trigger("reloadGrid");
//alert("我要執行刷新了")
},8000)
})

這樣執行的結果就是刷新整個表格,當然了,如果此時表格有選中狀態會變成無狀態;並且表格會直接定位到表格的頂部,無論之前在哪;

重點來了:直接刷新指定的單元格,頁面其他數據不變

使用ajax定時獲取數據,就是重復請求接口,
然后根據獲取的rowid,去定位單元格,更新數據;


懟代碼:
jqgrid表格數據不變:
jQuery(grid_table).jqGrid({
url : //獲取數據的URL地址
datatype : "json", //返回的數據類型,絕大多數情況都應該是JSON
colModel:[
{name: "id",hidden:true, key:true},
   {name: "hostName",label:"主機名稱",width:150},。。。

ajax代碼:
  
$(function () {
//ajax獲取數據,然后更新指定的行
setInterval(function () {
$.ajax({
url: url,
type: "GET",
dataType:"json",
success: function (result) {
//alert(result.data.length);
var vmDataArr = result.data;
//獲取id,然后根據id去改變值

for (var i=0;i<result.data.length;i++){
var vmId = vmDataArr[i].id;
//alert(vmId);
var datatime = vmDataArr[i].getDataTime;

//獲取指定div id 填進去
$("#grid-table").jqGrid('setCell',vmId,"getDataTime",datatime);
...

}
}
});

//alert("我要執行刷新了")
},5000)
})



另外關於jqgrid:
顯示/隱藏:
jQuery("#grid_id").setGridParam().showCol("colname").trigger("reloadGrid");

jQuery("#grid_id").setGridParam().hideCol("colname").trigger("reloadGrid");
 
        

    $("#grid_id").jqGrid('setCell',rowId,"xingming",name);

    //'setCell':關鍵字,rowId :指定行id,xingming: 修改的單元格的name,name :需要更新的值

 
        
大概就這樣,有不清楚或是想交流可以留言


免責聲明!

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



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