jQuery MiniUI

 找回密码
 立即注册
查看: 5881|回复: 10
打印 上一主题 下一主题

自动高度再去后编辑,编辑完了滚动条自动跑到顶部 [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2019-12-20 11:24:38 |只看该作者 |倒序浏览

前置条件:style="width:700px;height:auto;max-height:280px;"
如附件:
1.点击--动态列1的配置方式--先添加数据

2.选在位于底部的第19条数据,给上备注内容后滚动条自动回到顶部

问题:
1.有没有更好的写法来让表格有更高的自适应高度,达到一定高度后出滚动条
2.本地排查是因为设置height:auto;max-height:280px;而不是直接height:280px;而导致编辑后滚动条问题
结合这两种能否有一个方案,还是说要进行取舍?

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

沙发
发表于 2019-12-20 14:00:29 |只看该作者
建议使用setHeight来动态设置高度。

Rank: 1

板凳
发表于 2019-12-26 10:34:17 |只看该作者
可以在页面加载完后,根据当前屏幕大小来设置表格高度

Rank: 1

地板
发表于 2019-12-27 13:23:50 |只看该作者
本帖最后由 s209392599 于 2019-12-27 14:12 编辑
dforce 发表于 2019-12-20 14:00
建议使用setHeight来动态设置高度。

表格内容随时增删改会随时改变表格高度,表格里面内容也是自适应高度的,也就是说编辑后也可能影响表格高度.放在哪里来写控制表格高度的比较好呢?比如表格高度最高可显示500px
现在用的是:
  1. currentWorkPlanTable.on("resize", function (e) {
  2.         var resizeHeight = e.sender.height;
  3. currentWorkPlanTable.setHeight(resizeHeight)
  4. });
复制代码

还有一个问题是:怎么设置让allowResize只能上下调整



Rank: 8Rank: 8

5#
发表于 2019-12-27 14:38:17 |只看该作者
s209392599 发表于 2019-12-27 13:23
表格内容随时增删改会随时改变表格高度,表格里面内容也是自适应高度的,也就是说编辑后也可能影响表格高 ...

如果是url加载,可以监听表格的load事件
grid.on("load",function(e){
    var length=e.sender.getData().length    //表格所有行树
     if(length<10){
         grid.setHeight("auto");
     }else{
          grid.setHeight("500px");
    }
})

Rank: 1

6#
发表于 2019-12-27 17:28:58 |只看该作者
dforce 发表于 2019-12-27 14:38
如果是url加载,可以监听表格的load事件
grid.on("load",function(e){
    var length=e.sender.getData( ...

是通过loadData的方法进行数据加载的,而且随时都有增删改查,表格在高度上是否有滚动条应该是冬天的,有没有办法能做到

Rank: 8Rank: 8

7#
发表于 2019-12-27 17:42:50 |只看该作者
s209392599 发表于 2019-12-27 17:28
是通过loadData的方法进行数据加载的,而且随时都有增删改查,表格在高度上是否有滚动条应该是冬天的,有 ...

grid._dataSource.on("datachanged", function (e) {
            
  })

Rank: 1

8#
发表于 2019-12-30 10:34:45 |只看该作者
本帖最后由 s209392599 于 2019-12-30 10:36 编辑
dforce 发表于 2019-12-27 17:42
grid._dataSource.on("datachanged", function (e) {
            
  })
目前使用的是下面的方法,有没有在这时候获取表格内容区总高度的方法?

另外,有没有当前页面所有表格或者总体页面全局配置的方法?
  1. currentWorkPlanTable._dataSource.on("datachanged", function (e) {
  2.     var len = e.sender.dataview.length;
  3.     if(len>=10){
  4.         currentWorkPlanTable.setHeight(450);
  5.     }else{
  6.         currentWorkPlanTable.setHeight('auto');
  7.     }
  8. })
复制代码

Rank: 8Rank: 8

9#
发表于 2019-12-30 13:26:52 |只看该作者
s209392599 发表于 2019-12-30 10:34
目前使用的是下面的方法,有没有在这时候获取表格内容区总高度的方法?

另外,有没有当前页面所有表格或者 ...
  1. (function () {
  2.     var inited = false;
  3.     function init(){
  4.         var grid = this;
  5.         grid._dataSource.on("datachanged", function(e){
  6.             
  7.         });
  8.     }

  9.     var set = mini.DataGrid.prototype.set;
  10.     mini.DataGrid.prototype.set = function(){
  11.         if(!inited){
  12.             init.call(this);
  13.             inited = true;
  14.         }
  15.         set.apply(this, arguments);
  16.     }
  17. })();
复制代码

Rank: 1

10#
发表于 2019-12-30 15:15:28 |只看该作者
felt 发表于 2019-12-30 13:26

试了下把这段代码卸载页面的顶部或者底部或者插件的最后面,页面上多个table只有第一个生效

Archiver|普加软件

GMT+8, 2024-11-27 10:34 , Processed in 1.040195 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部