当extjs的grid加载到window中时引发的血案

今天需要用到一个extjs的window控件中内嵌grid。本来一个很简单的功能,没想到最后做下来,花了我不少时间,真是很郁闷啊。

不多说了,先看图。

正常效果:

出错情况:

最后研究下来,原来是要先定义grid,在定义window,也是先后顺问题,如果把gridTest定义放在window之后,最后出现上图出错情况,后过来就正常了。

看代码:


var gridTest = new Ext.grid.GridPanel({
    region: 'north',
    border: false,
    columns: [
            { text: "条码", width: 100, dataIndex: 'BarCode' , sortable: true },
            { text: "名称", width: 120, dataIndex: 'GoodsName' , sortable: true },
            { text: "数量", width: 60, dataIndex: 'Quantity' , sortable: true },
            { text: "单位", width: 60, dataIndex: 'GoodsUnit' , sortable: true },
            { text: "进价", width: 60, dataIndex: 'GoodsBuyPrice' , sortable: true },
            { text: "售价", width: 60, dataIndex: 'GoodsSellPrice' , sortable: true },
            { text: "存放位置" , width: 120, dataIndex: 'WareHouse', sortable: true },
            { text: "供应商" , width: 100, dataIndex: 'SupplierName', sortable: true },
            { text: "进货员" , width: 100, dataIndex: 'Employee', sortable: true },
            { text: "状态", width: 60, dataIndex: '_StrStatus' , sortable: true },
            { text: "入库日期" , width: 80, dataIndex: '_DtCreate', sortable: true }
        ],
    width: 700,
    height: 500,
    frame: true
});
 
var winChooseGoods = new Ext.Window({
    title: '进货',
    layout: 'border',
    width: 700,
    height: 500,
    closeAction: 'hide',
    plain: true,
    items: [gridTest],
    buttons: [{
        text: '确定',
        handler: function () {
            winChooseGoods.close();
        }
    }, {
        text: '取消',
        tabIndex: 12,
        handler: function () {
            winChooseGoods.close();
        }
    }]
});
 

 

posted on 2013-04-25 20:40  陆晓龙  阅读(1263)  评论(0编辑  收藏  举报