(七)FAP平台--报表篇

FAP报表直接使用Excel来设置报表模板,不需要安装其他三方报表工具。下面是报表模板说明书

全局参数:

以p:开头,系统默认

{p: ReportName} –报表名称,

{p: EmployeeName}—登陆员工名称

系统变量:  

以sv:开头,系统默认

{sv: ReportDate} –报表日期

{sv: ReportTime}—报表日期+时间

系统函数:

以sf:开头

{sf: Format()},例如:{sf:Format(sv:RenderDate, "g")}

GetDictVal(Object dictionary, Object key) 为空会抛异常

Object TryGetDictVal(Object dictionary, Object key)不会抛异常

Object GetByIndex(Object list, Int32 index)

Object TryGetByIndex(Object list, Int32 index)

String Format(Object input, String format, Object formatProvider = default(Object))

  

方法

以m:开头,例如:m:GetEntity("Employee")。

获取数据源使用

public IEnumerable<IDictionary<string, object>> GetEntity(string entityName)

public IEnumerable<IDictionary<string, object>> GetEntityWhere(string entityName, string fieldName, string fieldValue)

public IEnumerable<IDictionary<string, object>> GetEntitySql(string sql, object p0 = null,
            object p1 = null, object p2 = null, object p3 = null, object p4 = null, object p5 = null, object p6 = null, object p7 = null, object p8 = null, object p9 = null, object p10 = null)

其他类中的方法表示:m: ImageService: GetBitmap(),表示ImageService中的方法GetBitmap().

横向分页符模板

标记如下{HorizPageBreak}

使用此模板可在包含模板的单元格所在的行之后插入分页符。 将数据面板相互嵌套时,这很有用。 在这种情况下,每个数据块都打印在单独的页面上。

竖直分页符模板

标记如下:{VertPageBreak}

使用此模板可将分页符插入包含带有模板的单元格的列之后。

数据面板

鼠标拖动范围,Excel中右键“定义名称”。

以d_开头,例如:d_Employee

备注必填,在此设置数据源和父面板, 

如果要设置分组,用groupby=1,1表示第一列

 

如果是嵌套子模板 一定要设置父模板

DataSource=m:GetEntityWhere("Employee","DeptUid",di:Fid);ParentPanel=d_Department

切记用分号分割。

 

数据源函数:系统默认:

根据entityName获取数据集

public IEnumerable<IDictionary<string, object>> GetEntity(string entityName)

根据字段名和字段值过滤数据集

public IEnumerable<IDictionary<string, object>> GetEntityWhere(string entityName, string fieldName,string fieldValue)

自定义sql,sql语句用()包围,参数以@数字标记  必须从0开始最多11个,例如@0  @1….  P0为 @0的值

DataSource=m:GetEntitySql((select * from Employee where DeptUid=@0 and Dr=0),di:Fid);ParentPanel=d_Department

数据项

在数据面板下设置数据项

以di:开头,例如{di:EmpName}

//字典值转化函数

{m:Dictionary(EmpGender,di:Gender)}

”EmpGender“为FapDic字典表分类。

合计面板

同数据面板,名称以t_开头,例如:t_subtotals。

合计数据项,此处包含合计函数:Sum,

        Count,

        Avg,

        Max,

        Min,

        Custom,

        NoAggregation,等

例如:{Max(di:DateOfBirth)}

 

父子面板嵌套

嵌套分组推荐使用

 

动态面板

不需要具体设置每一个数据项

只需要设置 Headers,Data,Totals

totals会根据字段类型 自动 执行合计函数。

FAP系统使用

菜单:报表统计-----报表模板

新增

查看报表

菜单:统计报表---报表展示。

可查看报表需要 权限 菜单 去授权。

报表结果:

原文地址:https://www.cnblogs.com/wangyfb/p/12456477.html