如何 'get' ExtJS 5.1.1 上的另一个模型字段
How to 'get' another Model field on ExtJS 5.1.1
我正在尝试在 Ext.column 中使用 renderer
配置。我在模型中有两个字段状态; balanceok
和 lastbalance
。但它给出了这个错误:
[W] XTemplate evaluation exception: getRecord is not defined
如何使用 get
方法显示另一个字段?
型号:
Ext.define('MultiDB.model.FolioModel', {
extend: 'Ext.data.Model',
fields: [
{name: 'clientname', type: 'string'},
{name: 'balanceok', type: 'bool'},
{name: 'lastbalance', type: 'int'}
]
网格面板:
{
dataIndex: 'balanceok',
flex: 1,
text: 'Balance',
renderer: function (value, record, store) {
if (value == 1) {
return "All Paid";
} else {
return getRecord('lastbalance');
}
}
}
不确定您在哪里找到 getRecord
,正确的调用是:
record.get('lastbalance');
附带说明一下,value == 1
的检查有点奇怪,因为由于模型的原因,该字段将被转换为布尔值。
Renderer 已经提供了一个记录参数。您可以在关注网格单元格时使用 getRecord,但从上述用例看来您不需要它。
您的渲染器参数似乎有些偏差,这可能就是您在检查和检索值时遇到问题的原因。
如果您从以下位置更新您的列渲染器:
renderer: function (value, record, store) { ... }
到:
renderer: function (value, metaData, record, rowIndex, colIndex, store, view) { ... }
您可以在此处查看渲染方法的完整描述:
http://docs.sencha.com/extjs/5.1.1/api/Ext.grid.column.Column.html#cfg-renderer
请查看下面的 fiddle 以获取有助于您前进的工作示例:
https://fiddle.sencha.com/#view/editor&fiddle/251r
我正在尝试在 Ext.column 中使用 renderer
配置。我在模型中有两个字段状态; balanceok
和 lastbalance
。但它给出了这个错误:
[W] XTemplate evaluation exception: getRecord is not defined
如何使用 get
方法显示另一个字段?
型号:
Ext.define('MultiDB.model.FolioModel', {
extend: 'Ext.data.Model',
fields: [
{name: 'clientname', type: 'string'},
{name: 'balanceok', type: 'bool'},
{name: 'lastbalance', type: 'int'}
]
网格面板:
{
dataIndex: 'balanceok',
flex: 1,
text: 'Balance',
renderer: function (value, record, store) {
if (value == 1) {
return "All Paid";
} else {
return getRecord('lastbalance');
}
}
}
不确定您在哪里找到 getRecord
,正确的调用是:
record.get('lastbalance');
附带说明一下,value == 1
的检查有点奇怪,因为由于模型的原因,该字段将被转换为布尔值。
Renderer 已经提供了一个记录参数。您可以在关注网格单元格时使用 getRecord,但从上述用例看来您不需要它。
您的渲染器参数似乎有些偏差,这可能就是您在检查和检索值时遇到问题的原因。
如果您从以下位置更新您的列渲染器:
renderer: function (value, record, store) { ... }
到:
renderer: function (value, metaData, record, rowIndex, colIndex, store, view) { ... }
您可以在此处查看渲染方法的完整描述:
http://docs.sencha.com/extjs/5.1.1/api/Ext.grid.column.Column.html#cfg-renderer
请查看下面的 fiddle 以获取有助于您前进的工作示例: https://fiddle.sencha.com/#view/editor&fiddle/251r