Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Cx中的字段值表达式中使用自定义全局函数?_Javascript_Cxjs - Fatal编程技术网

Javascript 如何在Cx中的字段值表达式中使用自定义全局函数?

Javascript 如何在Cx中的字段值表达式中使用自定义全局函数?,javascript,cxjs,Javascript,Cxjs,我有一个比较复杂的例子,需要将自定义格式应用于计算网格内字段值的JavaScript表达式 <Grid records:bind="$page.data" columns={[ { field: 'seatbeltViolations', header: 'Seatbelt Violations', format:'n;0', aggregate: 'sum',

我有一个比较复杂的例子,需要将自定义格式应用于计算网格内字段值的JavaScript表达式

<Grid records:bind="$page.data"
    columns={[
        { 
            field: 'seatbeltViolations', 
            header: 'Seatbelt Violations', 
            format:'n;0', 
            aggregate: 'sum', 
            aggregateField: 'seatbelts', 
            align: 'right' 
        },{
            field: "distance",
            header: "Distance",
            format: "n;0",
            aggregate: "sum",
            aggregateField: "distance",
            align: "right"
        },{
            field: 'seatbeltViolationsPer100Km', 
            header: 'Seatbelts per 100km',
            format: 'n;1',
            footer: { 
                expr: '0.1 * Math.round(10.0 * {$group.seatbelts}/{$group.distance})' 
            }, 
            align: 'right' 
        }]} />

我希望我的问题足够清楚:)

我认为最简单的方法是在这里使用
computable
而不是表达式。大致如下:

...
footer: computable("$group.seatbelts", "$group.distance", (p, q) =>
          {
            return q != 0 ? Format.value(100.0 * p / q, "n;1") : '--';
          }),
...
这样,页脚可以任意复杂,并且可以轻松地将逻辑抽象为一个通用工厂函数,返回您想要的任何内容。举个例子,看看这把小提琴:
我认为最简单的方法是在这里使用
computable
而不是表达式。大致如下:

...
footer: computable("$group.seatbelts", "$group.distance", (p, q) =>
          {
            return q != 0 ? Format.value(100.0 * p / q, "n;1") : '--';
          }),
...
这样,页脚可以任意复杂,并且可以轻松地将逻辑抽象为一个通用工厂函数,返回您想要的任何内容。举个例子,看看这把小提琴:

在字符串模板中使用表达式还有一个未记录的功能:

footer: {
  tpl: '{[{$group.seatbelts} != 0 ? {$group.distance}/{$group.seatbelts} : null]:n;1}'
}

在字符串模板中使用表达式还有一个未记录的特性:

footer: {
  tpl: '{[{$group.seatbelts} != 0 ? {$group.distance}/{$group.seatbelts} : null]:n;1}'
}

我认为这正是OP需要的。在本例中,处理诸如除零之类的内容在可计算环境中可能会更干净,但模板中的表达式是一个很好的特性。他们肯定会找到进入文档的方法。我认为这正是OP需要的。在本例中,处理诸如除零之类的内容在可计算环境中可能会更干净,但模板中的表达式是一个很好的特性。他们肯定会找到进入文档的方法。