组合中的默认值不可见 - extjs

时间:2014-09-18 10:53:45

标签: javascript jsp extjs

我的extjs页面中有grid.Panel。网格中有组合框。在加载页面时,组合框看起来不像组合框。相反,他们看起来像空单元格。单击单元格后,它们会显示下拉框,如符号。

var decisionComboStore = new Ext.data.ArrayStore({
   fields: ['abbr', 'action'],
   data : [
           ['proceed', 'Proceed'],
           ['upNotDone', 'Upload Not Done']
          ]
    });
var stockAuditGrid = Ext.create('Ext.grid.Panel', {
    {header: '<center><b>Decision</center>',  dataIndex: 'decision', flex:1,
        editor: {
            xtype:'combo',
                    store: decisionComboStore,
                            id: 'decisionCombo',
                           displayField:'action',
                           valueField: 'abbr',
                           mode: 'local',
                          typeAhead: false,
                emptyText: 'Select...',
            allowBlank:false
        },sortable: false, hideable: false}
 });

我不知道还应该添加什么以使其在加载文档时看起来像一个组合框。该框也应显示默认值。

2 个答案:

答案 0 :(得分:1)

你期待一些不可能发生的事情。 Ext网格中的编辑器仅在(dbl)单击时激活,并且一次只有一个处于活动状态。

如果这种行为很好,但你只需要组合的外观,那么你必须使用css来设置网格单元的样式。

答案 1 :(得分:0)

你不能轻易使它看起来像一个组合框。

但是,您可以在网格列上使用自定义渲染器,以便在记录的字段为空时显示Select...,而无需实际修改商店中的基础数据:

http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.grid.column.Column-cfg-renderer

示例:

renderer:function(value,meta) {
    if(value === undefined || value === null || value === "") {
        meta.style="color:#666"
        return "&lt;Select...&gt;";
    }
    return value;
}