pal2003 2016-08-12 07:16 采纳率: 0%
浏览 1221

EXTJs 动态添加列,不能在浏览器正常显示

EXTJs 动态添加列,后台读取数据,在浏览器debugger里可以正常显示新增的列,但离开debugger却不显示,为什么?以下是代码

var sm=new Ext.grid.CheckboxSelectionModel();
var cmConfig;
var cmItems=[new Ext.grid.RowNumberer(),sm,{
header : "",
dataIndex : "userId",
width : 65,
hidden : true,
}, {
header : "人员姓名",
dataIndex : "fullname",
width : 65,
sortable: true
} ];

    var results=[]; // 动态列部分以及取值
    Ext.Ajax.request({
        url : __ctxPath + "/hrm/listColSalaryPayoff.do",
        method : "post",
        params : {
            standardId : a
        },
        scope : this,
        success : function(b) {
            results = Ext.util.JSON.decode(b.responseText).result;
        }
    });

    debugger;
    for ( var i = 0; i < results.length; i++) {
        cmConfig = {
            header : results[i].itemName,
            value : results[i].amount,
            sortable : true,
            editor :new Ext.form.NumberField(),
        };
        cmItems.push(cmConfig);
    }

    var store = this.gridPanel.store;
    this.gridPanel.reconfigure(store, new Ext.grid.ColumnModel(cmItems));
  • 写回答

2条回答 默认 最新

  • Go 旅城通票 2016-08-12 07:32
    关注

    reconfigure放回调里面,否则ajax是异步的,执行reconfigure的时候还没有回调。你加了debugger调试给了ajax返回时间设置results变量,所以调试模式看到有数据,不调试无数据的情况

         var results=[]; // 动态列部分以及取值
        Ext.Ajax.request({
            url : __ctxPath + "/hrm/listColSalaryPayoff.do",
            method : "post",
            params : {
                standardId : a
            },
            scope : this,
            success : function(b) {
                results = Ext.util.JSON.decode(b.responseText).result;
                            //////////////////////////////////////////////
    
        for ( var i = 0; i < results.length; i++) {
            cmConfig = {
                header : results[i].itemName,
                value : results[i].amount,
                sortable : true,
                editor :new Ext.form.NumberField(),
            };
            cmItems.push(cmConfig);
        }
    
        var store = this.gridPanel.store;
        this.gridPanel.reconfigure(store, new Ext.grid.ColumnModel(cmItems));
            /////////////////////////////////////
    
    
    
    
    
    
    
    
    
            }
        });
    
    评论

报告相同问题?

悬赏问题

  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛