Ext中combobox在GridPanel里显示数据问题

一、首先我先写好一个ColumnModel,定义代码如下:
js代码:
 var PAG007_clm_AddressCm = new Ext.grid.ColumnModel([
{header:'<center>都市名</center>',dataIndex:'CITY_NAME',editor: PAG007_cmb_City},
{header:'<center>住所</center>',dataIndex:'ADDRESS',editor:new Ext.form.TextField({allowBalank:false})},
{header:'<center>电话号码</center>',dataIndex:'TEL_NO',editor:new Ext.form.TextField({allowBalank:false})},
{header:'<center>电话号码种类</center>',dataIndex:'TEL_NO_TYPE',editor: new Ext.form.ComboBox({
id:'type',
name:'type',
readOnly:true,
fieldLabel: '电话号码种类,
hiddenName:'id',
store: PAG007_cmb_Type_Store,
displayField:'text',
valueField:'value',
typeAhead: true,
mode: 'local',
triggerAction: 'all',
emptyText:'请选择',
selectOnFocus:true
}),
renderer: function(value, cellmeta, record)
{
//通过匹配value取得ds索引
var index = PAG007_cmb_Type_Store.find(Ext.getCmp('type').valueField,value);
//通过索引取得记录ds中的记录集
var record = PAG007_cmb_Type_Store.getAt(index);
//返回记录集中的value字段的值
var value = "";
if (record)
{
value = record.data.text;
}
return value;//注意这个地方的value是上面displayField中的value
}
},
// {header:'<center>削除</center>',dataIndex:'ISCHECK'},
chb_delete
]);


二、定义的是EditorGridPanel:
  var PAG007_AddressGridPanel = new Ext.grid.EditorGridPanel({
title: '当前联系方式,
cm : PAG007_clm_AddressCm,
sm : PAG007_rsm_AddressSm,
plugins:[chb_delete],
clicksToEdit:1,
loadMask : true,
region : 'center',
store : PAG007_AddressGridPanel_Store,
enableColumnResize : false,
enableColumnMove : true,
viewConfig : {
scrollOffset : 20,
forceFit : true
}
});

三、定义的是JsonStore:(我这里是用的静态的数据,动态的数据同样应该可行。)
 var PAG007_cmb_Type_Store = new Gt.common.engine.JsonStore({
data : {
'root' :[
{'value' : '1','text' : '住宅'},
{'value' : '2','text' : '公司'},
{'value' : '3','text' : '手机'}
]
},
root : 'root',
fields : ['value', 'text']
});


四、关键部分代码(我用的是‘电话号码种类’的那列,我的种类是分'1'、'2'、'3',三种情况,是在后台数据库中取出来的,要对应前台的displayField显示):
{header:'<center>種類</center>',dataIndex:'TEL_NO_TYPE',editor: new Ext.form.ComboBox({
id:'type',
name:'type',
readOnly:true,
fieldLabel: '电话号码种类',
hiddenName:'id',
store: PAG007_cmb_Type_Store,
displayField:'text',
valueField:'value',
typeAhead: true,
mode: 'local',
triggerAction: 'all',
emptyText:'请选择',
selectOnFocus:true
}),
renderer: function(value, cellmeta, record)
{
//通过匹配value取得ds索引
var index = PAG007_cmb_Type_Store.find(Ext.getCmp('type').valueField,value);
//通过索引取得记录ds中的记录集
var record = PAG007_cmb_Type_Store.getAt(index);
//返回记录集中的value字段的值
var value = "";
if (record)
{
value = record.data.text;//对应store中的text字段(fields)
}
return value;//注意这个地方的value是上面displayField中的value
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值