天天看点

extjs中combox默认值设置问题

来自:http://hi.baidu.com/zl8851023/blog/item/ca133d9f8c6be3157bf4802a.html

题来由:combox组件,store使用xmlreader,想对其设置默认值。

发现,使用普通方法,设置combox的

value属性,不起作用。下拉框中仅显示valuefield而不显示displayfiled的值。

解决方法两种:

一、在初

始化时,分别设置value和rawValue。

Ext.getCmp('comboxID').setValue('00001');

 Ext.getCmp('comboxID').setRawValue('00001

数学院');

二、在combox的store加载完毕后,设置combox的value值。

var deptStore =

new Ext.data.Store({

  url : '',

  reader : new

Ext.data.XmlReader({

     record : 'codeitem'

    }, ComboRecord),

  sortInfo

: {

   field : 'id',

   direction : 'ASC'

  }

 });

 deptStore.load({

callback : function(records, options, success) {

   if (success) {

    Ext.getCmp('comboxID').setValue('00001');

   }

  } });

觉很诡异。因为普通的store使用value属性就能设置默认值。估将combox的store修改为SimpleStore。

store

: new Ext.data.SimpleStore({

               fields:['id','name'],

data:[['','-'],['00001,''00001 数学院']]

        })

此时,使用value属性,

即可设置默认值。

所以,怀疑是组件在加载时,对属性加载的顺序有关或者store解析xml文件时的问题。此问题有待查

明。

=============================

我用的是最后一种,SimpleStore的方法。