首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

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

2012-11-23 
Ext.form.ComboBox setValue()初始值设定问题在Store加上一个listeners时设置ComBox中对应的键值。var node

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;

热点排行