jqGrid 编辑完数据后能返回到当前位置的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

      。。。
  }

 

以上是关于jqGrid 编辑完数据后能返回到当前位置的方法的主要内容,如果未能解决你的问题,请参考以下文章

JqGrid把数据行插入指定位置的方法addRowData

jqGrid行编辑配置,方法,事件

vi vim编辑器

Jqgride关于获取完数据可直接编辑

jqgrid学习

5.1 Vim 常用操作