Ext.form.ComboBox setValue()初始值设定问题

在Store加上一个listeners时设置ComBox中对应的键值。
var nodeNameStore = new Ext.data.JsonStore({
url : Listener
+ '?className=etl.db.Node&methodName=getAllNodeJSON&paramCount=0',
totalProperty : 'results',
root : 'root',
id : 'id',
fields : ['id', 'name'],
listeners : {
load : function() {
nodeName.setValue(nodeName.getValue());
}
}
});
nodeNameStore.load();

var nodeName = new Ext.form.ComboBox({
xtype : "combo",
name : "nodeName",
fieldLabel : "所在作业节点",
displayField : 'name',// 下拉框显示的值
valueField : 'id',
store : nodeNameStore,
triggerAction : 'all',
editable : false,
allowBlank : false,
emptyText : '请选择作业节点',
selectOnFocus : true
});
nodeName.setValue("1");


因为load()方法是异步加载,所以在setValue()里不能保证一定加载完成,因此要增加侦听事件。

但在Ext.grid中这样设置不起作用。需要再渲染一下。
{
id : "node",
header : "节点名",
dataIndex : 'node',
sortable : true,
width : 80,
editor : nodeName,
renderer : function(value, p, r) {
var record = nodeNameStore.getById(value);
if (record == undefined) {
return "";
} else {
return record.data.name;
}
}
}


这样在设置时会自动显示正确的dispalyField;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值