我的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}
});
我不知道还应该添加什么以使其在加载文档时看起来像一个组合框。该框也应显示默认值。
答案 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 "<Select...>";
}
return value;
}