digdeep

凡是过去,皆是序幕。Read the fucking manual and source code.

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

在同一个页面,多个 datagrid查询使用同个元素来展示时,存在分页页数缓存 相互 影响覆盖的问题,比如:

第一个 datagrid 查询,翻页到第10页,然后在点击按钮,查询第二个 datagrid,这是第二个datagrid也会查询第10页,而不是查询第1页!!!!

解决方法:需要重置页码:

var _data = $('#datagrid_table').data('datagrid'); // 拿到datagrid初始化的数据缓存
if(_data && _data.options){
    _data.options.pageNumber = 1; // 修改缓存
}
$.data($('#datagrid_table')[0], 'datagrid', _data); // 把修改写回去

 这里  datagrid_table为:

<table id="datagrid_table"></table>

 多个查询使用同一个元素 datagrid_table 来展示时存在这个问题。

当然如果每次动态的生成 datagrid_table 展示元素 可以解决这个问题,但是 datagrid 对应的的 toolbar 也需要重新生成,toolbar中的查询条件会丢失掉!

所以还是 重置页码的方法简单好使。

 

posted on 2020-03-12 17:51  digdeep  阅读(1849)  评论(4编辑  收藏  举报
不懂数据库和Web安全的架构师不是一个好的程序员。