55.2、报表插件,分页账表原创
金蝶云社区-林荫大道cc身份
林荫大道cc
11人赞赏了该文章 5618次浏览 未经作者许可,禁止转载编辑于2020年07月15日 20:47:28
封面

业务场景:按组织分页,一个组织显示一页



55.1  界面

54.3 代码



操作方法和前面 简单账表 53.253.3  类似



1、添加类 POOrderDetailt2.cs


2、引用,使用,继承和上一节一样


3、复制 53.3的代码


image.png



4、改成分页账表 MOVE


this.ReportProperty.ReportType = ReportType.REPORTTYPE_MOVE;


image.png



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


image.png


//分页报表必须实现的方法,此方法用于为报表提供分页依据
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;

}


image.png



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;
        }


image.png





7、组织名称,基础资料名称,和上一节一样,不用修改


image.png



8、创建临时表


8.1、

            //DataTable 改成 DataRow 
            DataRow dr = this.CacheDataList[filter.CurrentPosition];


image.png



8.2、添加 过滤条件


 and FOrgname='{3}'
, dr["Orgname"].ToString()


image.png



9、后面和上一节代码一样,具体请参考附件代码


9.1、请参考最后面附件WORD,红书部分是在上一节简单账表上做的修改;



10、注册插件


image.png



11、最终效果,打开报表,显示前一,后一,分页显示,即分页账表


image.png



总目录链接

https://vip.kingdee.com/article/6499387201459123

赞 11