jqGrid 編輯完數據后能返回到當前位置的方法


jqGrid 是一個js的jquery組件,雖然不輕便,但功能還是蠻強大的,也比較方便使用。在數據加載后,經常需要對其中的記錄進行編輯,修改完后再返回時需要看到修改后的數據,一般采取重新加載的方法reloadGrid,但問題是列表中的數據因為重新加載之故,記錄位置就不是原來的位置了,如果想繼續定位在原來位置(keep position)可以采取如下方法:

1. 定義2個全局量:

  var selectedRowIndex = 0;  //記住記錄號

  var scrollPosition = 0;          //記住jqgrid列表中頁面的滾動位置

 

2. 在onSelectRow事件中保存記錄號:

  onSelectRow: function () {
                selectedRowIndex = $("#" + this.id).getGridParam('selrow');

       。。。
  }

  或在編輯前保存:

  selectedRowIndex = $("#gridId").getGridParam('selrow');   // gridId是jqgrid元素的id名

 

3. 編輯前記住jqgrid列表中頁面的滾動位置:

  scrollPosition = $("#gridId").closest(".ui-jqgrid-bdiv").scrollTop();

 

4. 處理完編輯后在gridComplete事件中恢復:

  gridComplete: function () {
                $("#" + this.id).setSelection(selectedRowIndex, false);
                $("#" + this.id).closest(".ui-jqgrid-bdiv1").scrollTop(scrollPosition);

      。。。
  }

 


免責聲明!

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



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