Page tree
Skip to end of metadata
Go to start of metadata

1. 内容概述



虽然报表的表达式中已经内置了非常丰富的函数,比如日期时间函数、数学函数等等。一般情况下都能满足用户的需求。

但为了更加方便用户使用,我们也支持自定义函数,由用户实现自定义的功能,然后在表达式中使用。

目前支持使用 C# 和 Visual Basic 两种语言进行自定义函数编写。

使用流程是,由系统管理员在后台进行定义或上传,之后用户在报表中进行使用,与使用其他内置函数一样。


2. 自定义函数



(1)  管理员登录系统后台管理,进入系统设置→ 报表设置→自定义函数


(2)  支持使用 C# 和 Visual Basic 两种语言定义函数。两种语言均支持直接在输入区域内输入自定义函数的内容或者上传文件,上传后文件中的内容会显示到输入区域。

提示

当需要添加多个自定义函数时,在已有的函数定义下继续增加新的函数定义即可。




示例内容如下:

C#示例
/// <function name="MyFunction">
/// <culture>
/// <label>MyFunctionlabel</label>
/// <syntax>MyFunction()</syntax>
/// <description>Function description</description>
/// <example>Code.MyFunction()</example>
/// </culture>
/// </function>
public string MyFunction()
{
return "Hello world";
}
Visual Basic 示例
''' <function name="MyFunctionvb">
''' <culture>
''' <label>MyFunctionvb</label>
''' <syntax>MyFunction(&lt;ArgumentName&gt;)</syntax>
''' <description>Function description</description>
''' <example>Code.MyFunctionvb("someValue")</example> 
''' </culture>
''' </function>
Public Function MyFunctionvb(argumentName As String) As String
    Return $"Hello world, {argumentName}"
End Function


在实际编写时,请按照示例中的格式在函数定义之前使用 XML 对函数进行属性定义。各个标记的含义如下:

  • function name:函数在编辑区域内部的唯一标识,不可重复。
  • label:函数最终使用时,在表达式函数列表中显示的名称。


  • syntax、description、example:分别对应函数使用说明中的语法、说明、示例中的内容。


(3)  之后单击编译按钮,编译无报错后即可保存。


3. 使用自定义函数



在后台保存自定义函数之后即可在报表中正常使用。

在自定义函数中找到函数,或通过右上角的搜索框搜索函数。单击函数即可在右侧查看函数的使用说明。


与其他内置的函数添加方法一致,双击函数即可。


保存后,预览报表即按照函数定义返回。



  • No labels