jQuery MiniUI

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

多个datagrid ,如何获取data.length是否为零来判断datagrid是否显 [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2017-3-21 21:18:07 |只看该作者 |倒序浏览
本帖最后由 tanxincl@163.co 于 2017-3-22 20:08 编辑

   arr是个数组
for(var i=0;i<arr.length;i++){
                                               var id="yw"+i;
                                              mini.parse();
        var datagrid = "datagrid"+i ;
        //document.getElementById(id).style.display="";
        var grid   = mini.get(datagrid);
                grid.load({pid:text.pid},function(  ){
                 var data = grid.getData();
                    console.log( data.length);//  回调函数求出来的并非传入的datagrid的       data.length
               
             })
            
                     }

Rank: 8Rank: 8

沙发
发表于 2017-3-22 10:46:51 |只看该作者
不清楚你获取的grid到底有什么问题
grid.getData()就是获取到当前表格加载到的数据

Rank: 1

板凳
发表于 2017-3-22 11:15:12 |只看该作者
dforce 发表于 2017-3-22 10:46
不清楚你获取的grid到底有什么问题
grid.getData()就是获取到当前表格加载到的数据 ...


循环4次 四个datagrid
console.log(id+"data.length:"+ data.length);应该有3个length长度为1的  结果是:
日志: yw38data.length:0
日志: yw38data.length:0
日志: yw38data.length:1
日志: yw38data.length:1  获取的是同一个id   。

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

Rank: 8Rank: 8

地板
发表于 2017-3-22 11:28:49 |只看该作者
tanxincl@163.co 发表于 2017-3-22 11:15
循环4次 四个datagrid
console.log(id+"data.length:"+ data.length);应该有3个length长度为1的  结果 ...
  1. var datagrids=mini.findControls(function(control){
  2.    if(control.type==“datagrid”) return true;
  3. })
  4. for(var i=0,l=datagrids.length;i<l;i++){
  5.     datagrids[i].load({},function(e){
  6.             if(e.data.length==0){
  7.                   e.sender.setVisible(false);
  8.             }
  9.     })
  10. }
复制代码

Rank: 1

5#
发表于 2017-3-22 16:03:23 |只看该作者
dforce 发表于 2017-3-22 11:28

  for(var i=0,l=arr.length;i<l;i++){
                                      var id="yw"+arr;
                                  datagrids.load({pid:text.pid},function(e){
                                             console.log (e.data.length);
                                       if(e.data.length!=0){
                                              e.sender.setVisible(false);                                    
                                      }
                                    })
                                 }请问为什么 sender方法 我的js版本问题?
queryAll.jsp:623 Uncaught TypeError: e.sender.setVisible is not a function
    at mini.DataTable.<anonymous> (queryAll.jsp:623)
    at miniui.js:11

Rank: 8Rank: 8

6#
发表于 2017-3-22 17:33:25 |只看该作者
tanxincl@163.co 发表于 2017-3-22 16:03
for(var i=0,l=arr.length;i

直接用grid.setVisible(false)吧

Rank: 1

7#
发表于 2017-3-22 20:08:00 |只看该作者
dforce 发表于 2017-3-22 17:33
直接用grid.setVisible(false)吧

非常感谢!

Rank: 8Rank: 8

8#
发表于 2017-3-23 09:26:30 |只看该作者
tanxincl@163.co 发表于 2017-3-22 20:08
非常感谢!

前面有混乱的问题的原因是,表格是异步加载的,在你回调的时候已经在加载别的表格了。

Rank: 1

9#
发表于 2017-3-23 15:01:45 |只看该作者
felt 发表于 2017-3-23 09:26
前面有混乱的问题的原因是,表格是异步加载的,在你回调的时候已经在加载别的表格了。 ...


for(var i=0;i<arr.length;i++){
                      var id="yw"+arr;
                         $('#print').append($(ymarr[arr]));
                         mini.parse();
             var datagrid1 = "datagrid"+arr;
                          grid  = mini.get(datagrid1);
                           grid.load({pid:text.pid},function(e){
                                var grid = e.sender;
                              console.log("id"+grid.id+"length:"+e.data.length);
                                if(e.data.length==0){
                                                 //回调函数如何在此获取值为0的传入的grid的id.  不管多少个datagrid, 实际获取的是最后一个id.
                                                 console.log(grid);
<%--                                                  console.log(datagrid1);--%>
<%--                                             $('id').hide;  --%>
                                     }
     })
                        
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

10#
发表于 2017-3-23 16:14:49 |只看该作者
tanxincl@163.co 发表于 2017-3-23 15:12
我不才,目前只能用mini-xx的 xx的大小和我传入id的顺序值来匹配。

因为ajax是异步的,当你第一个ajax回调执行的时候,其他其他的表格加载也进行了,
这样你的数据就不对赢了。
要么分开处理了,用不同的变量存表格

Archiver|普加软件

GMT+8, 2024-10-6 06:42 , Processed in 1.055730 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部