FineUI 官方论坛

标题: FineUI Gird 垂直滚动条的位置怎么保持? [打印本页]

作者: lenggaitian    时间: 2016-11-28 12:36
标题: FineUI Gird 垂直滚动条的位置怎么保持?
FineUI Gird在编辑一条数据后,刷新数据,垂直滚动条的位置怎么保持?
使滚动条的位置保持在原来编辑数据那一个地方。


作者: 飞↑草    时间: 2016-11-30 13:54
我也想知道 哈哈
作者: lenggaitian    时间: 2016-12-5 12:15
没人碰到过吗?
作者: lenggaitian    时间: 2016-12-6 17:32
本帖最后由 lenggaitian 于 2016-12-6 17:39 编辑

经过几天的测试实验已成功设置,垂直滚动条的位置在数据刷新后保持其位置。
方法一. F('grid_id').getView().focusRow(rowIndex); 注意要用setTimeout来执行,开始没有用setTimeout没有反映。
  1. setTimeout(function(){ F('grid_id').getView().focusRow(rowIndex);},100);
复制代码

方法二.选中一行时
  1. <Listeners><f:Listener Event="select" Handler="setCurrentRowIndex" /></Listeners>//添加事件.
  2.         function setCurrentRowIndex(me, row, no, option) {
  3.             var grid = F(gridClientID);           
  4.             scrollPosition = grid.view.getEl().getScrollTop();//保存滚动条位置全局变量
  5.         }
复制代码
数据刷新后重新设置滚动条位置。
  1. grid.getStore().on('refresh', function () {
  2.                 setTimeout(function () { grid.view.getEl().setScrollTop(scrollPosition); }, 100);
  3.             });
复制代码

数据更新。


作者: 飞↑草    时间: 2016-12-7 11:35
lenggaitian 发表于 2016-12-6 17:32
经过几天的测试实验已成功设置,垂直滚动条的位置在数据刷新后保持其位置。
方法一. F('grid_id').getView( ...

强,谢谢LZ分享,学到了




欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4