此次的總結是針對於一次bug,先說下咱們遇到的問題,就是後臺人員告訴咱們添加數據到100條數據的時候,101條就看不到,當時我以爲就是沒有分頁的緣由,因此我就覺得在jqgrid中設置一個loadonce就好了。這樣設置以後,確實能夠翻頁了。可是等到翻到第二頁的時候,咱們的數據有不少報錯了,全是underfind,這個時候就能夠看出來是formatter這個沒有起做用,而後我研究了很久,確實沒有找到有用的方法,(若是你們有辦法的話,能夠給我留言)那隻能曲線救國了。jquery
就是使用jquery的ajax請求回來數據以後,而後在設置jqgrid中的data爲本地的數據,這樣。請看下面的代碼:ajax
1 var mydata = "";//獲取到的所有的數據 2 var this_page = 1;//當前的頁數
1 function load_data_again(){ //從新加載數據 2 jQuery("#table_list_1").jqGrid("clearGridData"); 3 4 console.log("當前的頁數:",this_page) 5 $.ajax({ 6 url: "{:url('relatives_friends_list')}", 7 data:{ 8 bind_type:3 9 }, 10 success:function(data){ 11 if(data){ 12 mydata = data;//mydata爲全局變量,這個是爲了賦值數據用的 13 $("#table_list_1").jqGrid('setGridParam', { 14 data:mydata, 15 page:this_page,//這個也是全局的變量,這個會在loadComplete以後獲取到當前的頁面 16 }).trigger("reloadGrid"); 17 } 18 } 19 }) 20 }
在程序中已經寫的比較明白了,就是mydata爲全局變量,爲了存儲獲取到的數據,this_page爲當前頁面的頁面,這個主要是爲了判斷當前是在哪一個頁面。在下面我會jqgrid中的this
loadComplete
代碼放在下面url
1 loadComplete:function(t){ 2 this_page = $('#table_list_1').getGridParam('page'); // current page 3 }