日期:2014-05-20  浏览次数:20816 次

Ext中combox放在EditorGridPanel中的简单应用

    var strSex = new Ext.data.SimpleStore({
        fields: ['value', 'name'],
        data : [
            ['1', '男'],
            ['2', '女']
        ]
    });
    
    
    var objSex = new Ext.form.ComboBox({
            hideLabel: true,
            lazyRender: true, //值为true时阻止ComboBox渲染直到该对象被请求
            store: strSex,
            displayField: "name",
            valueField: "value",
            mode: "local",
            editable: false,
            triggerAction: "all"
           
   });
  
  
    var gridColumns = new Ext.grid.ColumnModel([//列模式
        _sm,
        { header: "ID", dataIndex: "id", hidden: true },
        { header: "姓名", dataIndex: "name", editor: objEditname },
        { header: "性别", dataIndex: "sex", editor: objSex }
    ]);
       var grid = new Ext.grid.EditorGridPanel ({//数据显示面板
        border: false,
        loadMask: true,
        clicksToEdit:2, 
        width: 500,
        height: 300,      
        store: store,       
        sm: _sm,
        cm: gridColumns,
        clicksToEdit: 2,
        bbar: grid_bbar,
        region:'center'//border布局必须
    });



EditorGridPanel编辑完后,下拉框在鼠标离开以后 本来是应该显示 男或者女,但是却很奇怪的变成 1或者2.  

我那个 男和女的 在别的地方,是从数据库读出来的,在数据库放的是 1,2,3, 对应男,女,其他,类似的很多。

这里为了测试 写死了,这样写没问题的 var strSex = new Ext.data.SimpleStore({
  fields: ['value', 'name'],
  data : [
  ['男'', '男'],
  ['女'', '女']
  ]
  });
但是我不想这样解决问题,谁解决过能教下我谢谢了 刚学的 EXT 挺纠结的。
最好直接给写下代码 看看。


------解决方案--------------------