jQuery MiniUI

 找回密码
 立即注册
楼主: 朱杰兵
打印 上一主题 下一主题

表格的drawcell事件绘制单元格 [复制链接]

Rank: 8Rank: 8

11#
发表于 2014-5-5 11:07:44 |只看该作者
朱杰兵 发表于 2014-5-5 10:44
但是依然有个问题存在,我在进入页面的时候用ajax把绘制需要的数据加载出来,然后在drawcell,但是有时候 ...

你把ajax获取数据独立出来,写到监听事件的上面去,代码依次从上往下执行下去的

Rank: 3Rank: 3

12#
发表于 2014-5-7 16:09:53 |只看该作者
factory 发表于 2014-5-5 11:07
你把ajax获取数据独立出来,写到监听事件的上面去,代码依次从上往下执行下去的 ...

我把ajax获取的数据放到了一个全局变量数组里面,但是还是会出现有时能绘制出来,有时绘制不出来。这是为什么呢?

Rank: 3Rank: 3

13#
发表于 2014-5-7 16:22:45 |只看该作者
factory 发表于 2014-5-5 11:07
你把ajax获取数据独立出来,写到监听事件的上面去,代码依次从上往下执行下去的 ...

var project = new Array();
jQuery(function($){
                $.ajax({
                     url: "ha02Action.loadAiistBusinessEvent.action",
                 data: {},
                 type: "post",
                 success: function (text) {
                         project = text;
                 },
                error: function (jqXHR, textStatus, errorThrown) {
                        issave=false;//保存结束
                        window.location.href="<%=request.getContextPath()%>/exception/error.jsp";
                        //CloseWindow();
                }
            });
                });


grid2.on("drawcell", function (e) {
                    var record = e.record;
                    column = e.column;
                    if(column.name == 'azfx0001'){
                            var str = '<input type="text" value="" style="display:none;" id="azfx0001'+record.azfx0001+'" name="azfx0001"/>';
                            for(var i=0;i<project.length;i++){
                                    if(project.azfx0001 == record.azfx0001){
                                            str+='<input type="checkbox" id="azfx0007" onclick="readit('+project.azfx0001+')" name="azfx0007'+project.azfx0001+'" value="'+project.azfx0007+'"/>'+project.azfx0008;
                                    }
                            }
                   e.cellHtml = str;
                    }
            });

Rank: 8Rank: 8

14#
发表于 2014-5-7 17:34:06 |只看该作者
朱杰兵 发表于 2014-5-7 16:22
var project = new Array();
jQuery(function($){
                $.ajax({

ajax没有同步造成的吧,默认是异步的

你给ajax加上ansyc:false,同步
异步的话,不会等你交互完成,代码就执行下去了

Archiver|普加软件

GMT+8, 2024-9-29 13:23 , Processed in 1.029328 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部