【发布时间】:2014-07-04 03:36:59
【问题描述】:
ExtJS 或 MODext 是一个困难的主题,文档很少,所以我来这里寻求帮助。我有 2 个问题,都在同一个代码中。
基本摘要,我有一个带有 2 个选项卡的页面,显示来自 2 个不同自定义表的信息。 2 个选项卡(分别为:客户、预算)显示良好,带有信息的网格几乎完全正确显示。差不多……
首先:我有一个扩展 MODx.combo 的组合,以显示用户名作为值的用户的全名,并引用了 Ext.util 渲染器来显示值。在“预算”选项卡(第 2 个选项卡)上,这可以正常工作,但在“客户”选项卡(第一个选项卡)上,显示不会呈现(双击时组合仍然显示。这是我的代码...
首先是扩展:
GR8.combo.User = function(config) {
config = config || {};
Ext.applyIf(config,{
id: 'user'
,name: 'user'
//,hiddenName: 'user'
,displayField: 'fullname'
,valueField: 'username'
,fields: ['fullname','username']
,pageSize: 20
,url: MODx.config.connectors_url+'security/user.php'
,typeAhead: true
,editable: true
});
GR8.combo.User.superclass.constructor.call(this,config);
};
Ext.extend(GR8.combo.User,MODx.combo.ComboBox);
Ext.reg('gr8-combo-user',GR8.combo.User);
接下来,客户端网格的组合字段代码:
{
header: 'Agent'
,dataIndex: 'clientAgent' //equates to modx username
,sortable: true
,width: 60
,editor: { xtype: 'gr8-combo-user' ,renderer: true}
,renderer: Ext.util.Format.comboRenderer(GR8.combo.User, 'clientAgent')
}
最后,预算网格的组合字段代码:
{
header: 'Agent'
,dataIndex: 'budgAgent'
,sortable: true
,width: 60
,editor: { xtype: 'gr8-combo-user' ,renderer: true}
,renderer: Ext.util.Format.comboRenderer(GR8.combo.User, 'budgAgent')
}
是我遗漏了什么,还是这里有一个不容易发现的问题?
其次:当我对网格进行更改时,更改不会保存 - 小红色三角形停留在网格字段的左上角。我从 MODx Gallery 组件中找到了一个我认为可以使用的保存按钮:
,formpanel: 'gr8-panel-home'
,buttons: [{
text: _('save')
,id: 'gr8-btn-save'
,process: 'mgr/gr8/update'
,method: 'remote'
,keys: [{
key: 's'
,alt: true
,ctrl: true
}]
}]
这会在页面上放置一个保存按钮(它还复制了搜索输入 :( ),但我想我还需要做一些事情。有人可以告诉我我需要做什么吗?
【问题讨论】:
标签: extjs combobox extjs3 modx-revolution datagridcomboboxcolumn