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);
。。。
}
作者:清风送明月
出处:http://www.cnblogs.com/csu8263/
另一博客:http://blog.chinaunix.net/uid/20510751.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。