![]() |
//支持函数的多层嵌套 =sum(203.12, 200.1, min(20, 22) * 20) //A3、B4、 B5表示单元格 =average(A3, B4, if(B5>2, 3, 4)) //A3至C4的矩形区域内所有单元格 =sum(A3:C4)
//表示p2列与price列的关系 <express>p2=if(price!=100, price-100, price)</express> //total、price、num列的关系 <express>total=round(price * num, 4)</express> //num@origin表示num列的原始数据(和修改后内容无关) <express>total2=round(price * num@origin, 4)</express>
//数字以人民币显示 =RMB(data) //日期型数据以中国银行格式显示 =ChineseBankDate(data) //日期型数据以指定格式显示 =FormatDate(data, 'DD/MM/YYYY') //布尔型数据以“是”/“否”显示 =if(data, '是', '否') //数据乘以1000,然后在后面跟随“吨”(数据本身未变) =data *1000 + '吨' //textColor=...是文字颜色 ='$'+data; textColor=if(data>100,'#0000ff', red) //Treelist的右侧图片: rightImage,图片URL根据当前行的productID列内容算出: ='产品:'+data+ ',图样:'; rightImage=if(productID=1, 'fruit.jpg', if(product=2, '../meta/office.ico', 'ele.png'))
1.加、减、乘、除分别以+、-、*、/表示; 2.支持“>”、“<”、“=”(或“==”)、“>=”、“<=”、“!=”(或“<>”)比较逻辑运算; 3.支持“and”(或“&&”)、“or”(或“||”)、“not”(或“!”)与或非逻辑运算; 4.运算优先级:括号 > 乘除 > 加减 > 比较逻辑运算 > 与或非逻辑运算; 5.与或非运算优先级:非 > 与 > 或; 6.允许数字和串混合计算; 7.支持串的大小比较运算; 8.不支持位运算; 9.纯数字不支持嵌入千位符(,逗号); |
@origin宏 | |
含义: | 取修改前的原始值 |
示例: |
//计算列表达式: <express>total2=round(price * num@origin, 4)</express> //num@origin表示num列的原始数据 |
@parent宏 | |
含义: | 用于下拉Treelist的过滤表达式中,取父Treelist的当前行、指定列的内容 |
示例: |
//对city列的下拉执行过滤: AF.func("Filter", "province=prov@parent\r\ncity"); //prov@parent表示取父Treelist的当前行、prov列的内容 //“父”是相对于下拉Treelist而言 |
合计宏 | @sum @sumdim @average(或@ave) @max @min @first @last @rows |
含义: | 用于Treelist的小计、合计表达式中,分别表示求和、数组(以某个字符作为分隔)求和、求平均值、最大、最小、首行、末行值、行数. |
示例: |
//某列的小计表达式: <col name="price" subtotalExpress="='均价: '+@ave" /> //复杂一点的: <col name="price" subtotalExpress="='方差: '+js('delta', @max, @min)" /> |
树级次/小计宏 | @TreeLevel |
含义: | 1.表示树的级次; 2.如果用于Treelist的小计表达式,则表示小计的分类级次(返回0表示非小计行,1表示最外层). |
示例: |
//某列的小计表达式: <col name="price" subtotalExpress="=if(@TreeLevel==1, '总计: '+@sum, '小计: '+@sum)" /> |
@单元名 宏 | |
含义: | 数据源填充区内、行不定时的动态单元名 |
示例: |
//B列求和: =sum(B4:@B4) //@B4是取第四行、第二列单元格的内容,由于行是动态填充,所以 //取数后公式中的该单元格名将被自动改为B5, B6, B7... |
@sheet工作表 宏 | |
含义: | 取其它工作表数据,一般写在单元名后面 |
示例: |
//取第一个工作表的B4单元格内容 =B4@sheet1 //取第一个工作表的B4单元格内容和第三个工作表的K8单元格内容之和 =B4@sheet1 + K8@sheet3 //取第三个工作表的B3:D8矩形区域内的所有单元格内容之和 =sum(B4:D8@sheet3) |
@Alias别名 宏 | |
含义: | 取某个别名的单元 |
示例: |
//取别名为“Price”的单元格内容 =@AliasPrice //取第二个工作表、别名为“Sales”的单元格内容 =@sheet2@AliasSales |
<?xml version="1.0" encoding="UTF-8" ?> <fault> <faultcode>错误代码</faultcode> //或<code> <faultstring>错误</faultstring> <detail>详细描述</detail> <reason>错误原因</reason> <faultactor>错误角色</faultactor> </fault>在<fault>下,至少要有上述5种元素中的一种,Supcan组件就把这个包当作异常包看待,并以友好的提示弹出该信息。