jQuery MiniUI

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

关于MINIUI datagrid IE8浏览器显示卡顿问题 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2016-8-23 10:16:30 |只看该作者 |倒序浏览
我要显示的行数有200多行   代码如下

function getIdxAndAddRow(project){

        $.ajax({
                                url:'/TBPWeb/runplanmgt/idxInsertAction.do?method=getZdsysrunningIdx&project='+project,
                                type:"get",
                                async:false,
                                success:function(data){
                                                if(data=="null"){
                                                        return;
                                                }
                                var result=mini.decode(data);
                               
                                        for(var i=0;i<result.length;i++){
                                       
                                                var st=getSlaveValue(project);
                                                st=mini.decode(st);
                                                st.xuhao=result[i].XUHAO;
                                            st.idxname=result[i].IDXNAME;
                                                st.unit=result[i].UNIT;
                                                st.idxdegreed=result[i].IDXDEGREED;
                                                st.response=result[i].RESPONSEID;
                                                st.firjdgoal=result[i].FIRJDGOAL;
                                                st.halfyeargoal=result[i].HALFYEARGOAL;
                                                st.onetothree=result[i].ONETOTHREE;
                                                st.wholeyear=result[i].WHOLEYEAR;
                                       
                                                var newrow=st;
                                                mini.get(project).addRow(newrow,mini.get(project).getData().length);       
                                        }               
                                }                       
                        })
                       
}

  数据长度是219行   用非IE内核浏览器加载显示和编辑都很流畅,可是IE浏览器显示,拖动 以及编辑单元格 都非常卡顿 延迟很严重 半天才有反应  请问这个问题如何优化  试过设置
mini.get('sysrunningIdxsafeCB').setVirtualScroll=true;
但是没有用

Rank: 8Rank: 8

沙发
发表于 2016-8-23 13:18:12 |只看该作者
直接在表格上设置virtualscroll="true"
ie性能本来就比较慢的,200多行,肯定要开虚拟滚动

Rank: 3Rank: 3

板凳
发表于 2016-8-23 13:32:18 |只看该作者
felt 发表于 2016-8-23 13:18
直接在表格上设置virtualscroll="true"
ie性能本来就比较慢的,200多行,肯定要开虚拟滚动 ...

不行啊  不能直接在表格上设置 virtualscroll="true"  因为这个源代码我不能动  是公司其他人写的 我在页面加载的时候 再setvirtualscroll不行,么

Rank: 8Rank: 8

地板
发表于 2016-8-23 13:41:58 |只看该作者
邓冰冰 发表于 2016-8-23 13:32
不行啊  不能直接在表格上设置 virtualscroll="true"  因为这个源代码我不能动  是公司其他人写的 我在页 ...

不行

Rank: 3Rank: 3

5#
发表于 2016-8-23 15:20:51 |只看该作者
felt 发表于 2016-8-23 13:41
不行

virtualscroll属性不支持get set?

Rank: 8Rank: 8

6#
发表于 2016-8-23 15:45:42 |只看该作者
邓冰冰 发表于 2016-8-23 15:20
virtualscroll属性不支持get set?

setVirtualScroll(true)

Rank: 3Rank: 3

7#
发表于 2016-8-23 16:18:04 |只看该作者
felt 发表于 2016-8-23 15:45
setVirtualScroll(true)

我设置完之后   datagrid的 VirtualScroll属性确实变成了true 可是IE卡顿的现象并没有改变

Rank: 8Rank: 8

8#
发表于 2016-8-23 16:23:39 |只看该作者
邓冰冰 发表于 2016-8-23 16:18
我设置完之后   datagrid的 VirtualScroll属性确实变成了true 可是IE卡顿的现象并没有改变 ...

组织好数据用addRows一次添加进去,不要200多次addRow

Rank: 3Rank: 3

9#
发表于 2016-8-23 16:36:21 |只看该作者
felt 发表于 2016-8-23 16:23
组织好数据用addRows一次添加进去,不要200多次addRow

那个代码发错了 应该是这样  你看下哪里还有可以优化的空间? 因为我看了你们那个10000行的例子 用IE也是很快的  所以应该是程序的问题
function getIdxAndAddRow(project){
       
        var mainid=mini.get('mainid').value;
       
        var result=getIdxData(project);
       
        result=mini.decode(result);
       
        var data=[];
                               
                        for(var i=0;i<result.length;i++){
                                var o={
                                "mainid":uuid(),
                                "wid":mainid,
                                "xuhao":result.XUHAO,
                                "idxname":result.IDXNAME,
                                "unit":result.UNIT,
                                "idxdegreed":result.IDXDEGREED,
                                "response":result.RESPONSEID,
                                "firjdgoal":result.FIRJDGOAL,
                                "halfyeargoal":result.HALFYEARGOAL,
                                "onetothree":result.ONETOTHREE,
                                "wholeyear":result.WHOLEYEAR
                                                };
                                                data.push(o);
                                        }       
                                                                       
                                        mini.get(project).setData(data);       
                                }       

Rank: 8Rank: 8

10#
发表于 2016-8-23 16:54:14 |只看该作者
邓冰冰 发表于 2016-8-23 16:36
那个代码发错了 应该是这样  你看下哪里还有可以优化的空间? 因为我看了你们那个10000行的例子 用IE也是 ...

做个html例子,发上来
设置了virtualScroll应该是不会卡的

Archiver|普加软件

GMT+8, 2024-9-30 10:31 , Processed in 1.038239 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部