jQuery MiniUI

标题: DataGrid的动态添加列和行数据一多就卡死怎么解决 [打印本页]

作者: 461501585    时间: 2013-7-9 11:22:20     标题: DataGrid的动态添加列和行数据一多就卡死怎么解决

DataGrid的动态添加列和行数据一多就卡死怎么解决?

作者: factory    时间: 2013-7-9 11:25:25

具体多少列多少行?
http://www.miniui.com/BigTest/300-datagrid.html
这个是实打实的300行数据,如果数据过多,请用分页,或者虚拟滚动

http://www.miniui.com/BigTest/10000-datagrid.html
作者: 461501585    时间: 2013-7-9 14:18:18

factory 发表于 2013-7-9 11:25
具体多少列多少行?
http://www.miniui.com/BigTest/300-datagrid.html
这个是实打实的300行数据,如果数据 ...

你好:我的是动态添加的行和列十几万条数据,数据是通过javascript循环添加的,无法实行分页的,虚拟滚动好像也不行哦!怎么办啊
作者: factory    时间: 2013-7-9 14:21:19

461501585 发表于 2013-7-9 14:18
你好:我的是动态添加的行和列十几万条数据,数据是通过javascript循环添加的,无法实行分页的,虚拟滚动 ...

几十万条数据,实打实的创建的话,你放到任何的JS控件中,肯定都是很卡甚至卡死的。

你参考这个demo,用虚拟滚动来做试试
作者: 461501585    时间: 2013-7-9 15:09:24

factory 发表于 2013-7-9 14:21
几十万条数据,实打实的创建的话,你放到任何的JS控件中,肯定都是很卡甚至卡死的。

你参考这个demo,用 ...

你好:我试了下虚拟滚动的!可是没有加载数据的了,到50条后滚动就是空白的了?怎么回事啊?    我的代码是这么写的!有问题吗?帮忙看下不!

--------------------------------------------------------------------------------
     function fillData(){
                var i=0;
         var datas = [];
        <#if search == '2'  >       
                mini.alert("您所查询的数量太多,请补充查询条件!");                       
                <#elseif (stockbranch?? && stockbranch?size>0) >
                        //插入明细
                        <#list itemname as iname>
                                        var data =
                                                {
                                                        "UID": i,
                                                        "arentTaskUID": -1,
                                                        itemNo:'${(iname.itemNo)!}',
                                                        costAmt:'${(iname.costAmt)!}',
                                                        avgCost:'${(iname.avgCost)!}',
                                                        stockQty:'${(iname.stockQty)!}',               
                                                        <#list branchname as branch>
                                                                'a_${branch}'{stockbranch[branch+"_"+iname.itemNo]!0},
                                                        </#list>
                                                        itemNo:'${(iname.itemNo)!}'
                                                       };
                                        datas.push(data);
                                i++;
                        </#list>
                         var grid = mini.get("IM_BRANCH_STOCK_SUM");
                        grid.setData(datas);       
                <#elseif search == '1'>               
                 mini.alert("未查到数据!");       
                </#if>       
        }
        mini.parse();
        fillData();
作者: factory    时间: 2013-7-9 15:10:56

461501585 发表于 2013-7-9 15:09
你好:我试了下虚拟滚动的!可是没有加载数据的了,到50条后滚动就是空白的了?怎么回事啊?    我的代码 ...

给表格设置virtualScroll="true"

作者: 461501585    时间: 2013-7-9 15:19:19

factory 发表于 2013-7-9 15:10
给表格设置virtualScroll="true"

你好:我都设里啊!我都照着demo写的,可是没有反应的
作者: factory    时间: 2013-7-9 15:38:41

461501585 发表于 2013-7-9 15:19
你好:我都设里啊!我都照着demo写的,可是没有反应的

你把你的HTML页面打包上传上来我们看下,数据的话,你写死成静态的数据
作者: 461501585    时间: 2013-7-9 15:56:18

factory 发表于 2013-7-9 15:38
你把你的HTML页面打包上传上来我们看下,数据的话,你写死成静态的数据

你好:我把页面放在附件里了!你帮忙看下不!

作者: 461501585    时间: 2013-7-9 16:09:15

461501585 发表于 2013-7-9 15:56
你好:我把页面放在附件里了!你帮忙看下不!

你好:问题我找到了,我在页面加了锁定列的,导致虚拟滚动不起作用的了?那我锁定列怎么解决啊!
作者: factory    时间: 2013-7-9 16:47:10

461501585 发表于 2013-7-9 16:09
你好:问题我找到了,我在页面加了锁定列的,导致虚拟滚动不起作用的了?那我锁定列怎么解决啊! ...

你前台加载的几十万条数据这个确实有点尴尬的,建议你还是通过服务端,然后分页来做。
作者: 461501585    时间: 2013-7-9 16:51:26

factory 发表于 2013-7-9 16:47
你前台加载的几十万条数据这个确实有点尴尬的,建议你还是通过服务端,然后分页来做。 ...

哦!谢谢的了!但是我使用锁定列grid.frozenColumns(0, 2)方法为什么虚拟滚动没效果,grid表单列的样式也不填满的了!这样的问题能解决吗?
作者: factory    时间: 2013-7-9 17:14:04

461501585 发表于 2013-7-9 16:51
哦!谢谢的了!但是我使用锁定列grid.frozenColumns(0, 2)方法为什么虚拟滚动没效果,grid表单列的样式也 ...

[attach]2328[/attach]

虚拟滚动 + 锁定列,是可以的


作者: 461501585    时间: 2013-7-9 17:35:10

factory 发表于 2013-7-9 17:14
虚拟滚动 + 锁定列,是可以的

你好:不是吧!我就是把锁定列去掉了虚拟滚动才能正常显示数据的了!你能帮我看看我之前发给你的附件吗?是不是我锁定列写错了?我是指定锁定4的,你的是首列锁定吗?麻烦你的了!
作者: factory    时间: 2013-7-9 17:36:30

461501585 发表于 2013-7-9 17:35
你好:不是吧!我就是把锁定列去掉了虚拟滚动才能正常显示数据的了!你能帮我看看我之前发给你的附件吗? ...

上传可以运行的html页面,另外grid.frozenColumns(0, 2)我也试过了,确实是可以的
作者: 461501585    时间: 2013-7-9 17:58:43

461501585 发表于 2013-7-9 16:09
你好:问题我找到了,我在页面加了锁定列的,导致虚拟滚动不起作用的了?那我锁定列怎么解决啊! ...

你好:我把我写的传上去了!你帮忙看下什么原因不!

作者: felt    时间: 2013-7-10 09:50:19

[attach]2331[/attach]你的页面本地打开,有锁定和虚拟滚动的。

作者: 461501585    时间: 2013-7-10 10:16:22

felt 发表于 2013-7-10 09:50
你的页面本地打开,有锁定和虚拟滚动的。

是不是版本问题啊?你们的新版本收费吗?
作者: felt    时间: 2013-7-10 10:18:21

你去下载下最新的试用版看下.
http://www.miniui.com/download/





欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2