jqGrid怎么設置初始化頁面時不加載數據(不向服務器請求數據)


  最近做一些表格一直用到jqGrid,今天遇到一個問題:

  1、就是頁面加載的時候數據不顯示,點擊搜索才根據請求從服務器返回並顯示內容。

  2、默認不從服務器請求數據(不然在開發者工具下會顯示請求不到數據的報錯)

  通常的解決方法就是直接給$("#jqGridTable").jqGrid({})套一個function,但個人感覺這並不是最好的方法。

  我建議可以用:

  (1). 初始化$("#jqGridTable").jqGrid({})的時候設置datatype: 'local',即:

$("#grid").jqGrid({ url:"http://localhost:8080/xxxx", datatype:"local" });

  (2)、當要加載數據的時候把datatype設置為json或者XML:

$("#jqGridTable").jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid');

  實例:

if(devOnlyId!=""){ $("#gridTable").jqGrid('setGridParam', { datatype:'json', postData: { "queryBean.devOnlyId":devOnlyId }, page: 1 }).trigger('reloadGrid'); }else{ $("#gridTable").jqGrid('setGridParam', { datatype:'json', postData: { "queryBean.devOnlyId":null }, page: 1 }).trigger('reloadGrid'); }; 

  數據只給了rows的數據時,jqGrid加載本地數據:

//執行對象列表
$("#executeObject_table").jqGrid({ dataType:"local", width :450, height : 200, viewrecords: true, multiselect: true, colModel:[ {index:'id',name:'id',hidden:true} ,{index : 'typename',name : 'typename',label : '<s:text name="名稱"/>',align : 'center',width : 200} ,{index : 'typecode',name : 'typecode',label : '<s:text name="類型"/>',align : 'center',width : 200} ] }); var data = JSON.parse($("#executeObject_table_hidden").val()); for(var i=0,len=data.length;i<len;i++){ $("#executeObject_table").jqGrid('addRowData',i+1,data[i]); }
//"[
{"id":"d7915253b9ed41bba420de780d3cd6f0","typecode":"windowsDesktop","typename":"windows桌面終端","remarks":"windows桌面終端"},
{"id":"a4243998b03a43558d5708573f361674","typecode":"windowsCloud","typename":"windows雲桌面","remarks":"windows雲桌面"}
]"

 


免責聲明!

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



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