在两个数据字段的Ext.XTemplate中执行数学运算+ - * /%

时间:2014-05-23 09:16:03

标签: extjs extjs4.2

我的模特:

Ext.define('paymentModel', {
    extend: 'Ext.data.Model',
    fields: [
        'totalPayment', 'targetCost','itemCount',
        {
            name: 'totalPayment',
            type: 'number',
        },
        {
            name: 'claimsCount',
            type: 'number'
        },
        {
            name: 'targetCost',
            type: 'number'
        }
    ]
});

我想写的模板

var tpl = new Ext.XTemplate(
                       '<TABLE width="100%" cellpadding=4 style="margin-top: 10px">',
                       '<TR><TD>Payment Amount</TD><TD>Average/Claim</TD></TR>',
                       '<TR class="ppm-result-value"><TD>{totalPayment}</TD><TD>                {totalPayment/claimsCount}</TD></TR>',
                       '<TR><TD>SOURCE</TD><TD>SOURCE</TD></TR>',
                       '<TR class="ppm-result-value"><TD>{targetCost}</TD><TD>{targetCost/1000}</TD></TR>',
                       '</TABLE>'
                   );

问题:

计算

{targetCost / 1000}(也在例如sencha docs中给出)。 如何在XTemplate中计算{totalPayment / claimsCount}和{totalPayment%claimsCount}。 我是extjs的新手,为我的项目尝试了一些东西。我已经完成了他的sencha文档,但无法找到正确的方法来完成这项工作。 寻求经验丰富的Ext开发人员的帮助。我很抱歉,如果它在其他线程中回答,我搜索并没有得到解决方案。

1 个答案:

答案 0 :(得分:0)

您可以在模板中执行内联JavaScript代码,以便基本上使用您的值执行任何计算:

'<td>{[values.totalPayment / values.claimsCount]}</td>'

请参阅&#34;使用特殊内置模板变量执行任意内联代码&#34; Ext.XTemplate的文档中。

另请参阅此fiddle基于Ext.view.View文档中的示例。