Ext ColumnModel

var cm = new Ext.grid.ColumnModel({
        defaults: {
            sortable: true   //所有的列都是排序的
        },
        columns: [ new Ext.grid.RowNumberer(),//自动编号
            {
                id: 'code',
                header: '物料编号',
                dataIndex: 'code',
                width: 200,
                editor: new fm.ComboBox({//选择下拉框
                	typeAhead: true,
                    triggerAction: 'all',
                	lazyRender: true,
                	listClass: 'x-combo-list-small',
                	store:dsSupplier,
                	valueField:'goodsId',
                	displayField:'code',
                	listeners:{
    					select: function(){
       						var gridrerCordValue = grid.getSelectionModel().getSelected();
       						var selectCode=this.getRawValue();
       						gridrerCordValue.set('goodsId', this.getValue());//this.getValue()取到的是select框的隐藏值
       						Ext.Ajax.request({
       							url:getRootPath()+'XXXServlet?selectCode='+selectCode,
       							timeout:'60000',
								method:'POST',
								success:function(response){
									var respText = Ext.util.JSON.decode(response.responseText);
									gridrerCordValue.set('style', respText.style);
									gridrerCordValue.set('shortName', respText.shortName);
									gridrerCordValue.set('unitName', respText.unitName);
								},
								failure: function(resp,opts) {   
                          		 var respText = Ext.util.JSON.decode(resp.responseText);   
                            	 Ext.Msg.alert('错误', respText.error);   
                       			}  
       						});
    					}
					}
                }),
            	renderer: function(value,metadata,record){//初始值,隐藏值和显示值
       				var index = dsSupplier.find('goodsId',value);
       				if(index!=-1){
        				return dsSupplier.getAt(index).data.code;
       				}
       				return record.get('code');
      			}
            }, {
                header: '物料简称',
                dataIndex: 'shortName',
                width: 130,
                editor: new fm.TextField({//编辑框列
                    allowBlank: false
                })
             }, {
                header: '规格型号',
                dataIndex: 'style',
                width: 130,
                hidden:true//隐藏列
             }
     ]
})

 这是构造了三个ColumnModel,

看了几周的Ext,觉得还是很不错的哦。。。

store中的数据源

var dsSupplier = new Ext.data.Store({
        proxy: new Ext.data.HttpProxy({
           url:getRootPath()+'XXXServlet?change=sgoodsCode'
        }),
        reader: new Ext.data.JsonReader({
        	root: 'gridRows',
        	totalProperty: 'totalCount'
        }, [
           {name: 'code', mapping: 'code'},
           {name: 'goodsId', mapping: 'goodsId'}
         ])
    });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值