55.2、报表插件,分页账表原创
12人赞赏了该文章
6,872次浏览
编辑于2020年07月15日 20:47:28
业务场景:按组织分页,一个组织显示一页
续
55.1 界面
54.3 代码
1、添加类 POOrderDetailt2.cs
2、引用,使用,继承和上一节一样
3、复制 53.3的代码
4、改成分页账表 MOVE
this.ReportProperty.ReportType = ReportType.REPORTTYPE_MOVE;
5、以组织分页
select FNAME as Orgname from T_ORG_ORGANIZATIONS a inner join T_ORG_ORGANIZATIONS_L b on a.FORGID = b.FORGID and b.FLOCALEID = 2052
//分页报表必须实现的方法,此方法用于为报表提供分页依据 public override DataTable GetList(IRptParams filter) { DataTable dt; DynamicObject customFilter = filter.FilterParameter.CustomFilter; string sSQL = string.Format(@"/*dialect*/select FNAME as Orgname from T_ORG_ORGANIZATIONS a inner join T_ORG_ORGANIZATIONS_L b on a.FORGID = b.FORGID and b.FLOCALEID = 2052 where a.FORGID in ({0})", Convert.ToString(customFilter["F_PAEZ_OrgId"])); dt = DBUtils.ExecuteDataSet(this.Context, sSQL).Tables[0]; return dt; }
6、
//获取过滤条件信息(构造单据信息) public override ReportTitles GetReportTitles(IRptParams filter) { ReportTitles Titles = new ReportTitles(); DataRow dr = this.CacheDataList[filter.CurrentPosition]; Titles.AddTitle("F_PAEZ_Org",dr["Orgname"].ToString()); return Titles; }
7、组织名称,基础资料名称,和上一节一样,不用修改
8、创建临时表
8.1、
//DataTable 改成 DataRow DataRow dr = this.CacheDataList[filter.CurrentPosition];
8.2、添加 过滤条件
and FOrgname='{3}'
, dr["Orgname"].ToString()
9、后面和上一节代码一样,具体请参考附件代码
9.1、请参考最后面附件WORD,红书部分是在上一节简单账表上做的修改;
10、注册插件
11、最终效果,打开报表,显示前一,后一,分页显示,即分页账表
总目录链接
55.2.zip(42.97KB)
分页账表开发.docx(44.07KB)
赞 12
12人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!