分页报表首先需要实现的方法就是GetList,这个方法用来获得分页的条件。

其他的就和其他报表类似了。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kingdee.BOS.Core.Report.PlugIn;
using Kingdee.BOS.Core.Report;
using System.Data;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Contracts.Report;
using Kingdee.BOS.Core.CommonFilter;
using Kingdee.BOS.Util;namespace Kingdee.BOS.Demo.Report
{public class DemoMoveReport : SysReportBaseService{public override void Initialize(){// 标记报表类型this.ReportProperty.ReportType = Core.Report.ReportType.REPORTTYPE_MOVE;this.ReportProperty.IsGroupSummary = true;}/// <summary>/// 构建分页报表每个报表的临时表/// 首先从分页依据中拿到本次分页的条件,就是当前页报表的条件:this.CacheDataList[filter.CurrentPosition]/// 然后把条件拼装到SQL中,例如b.FLocaleId= dr["FLocaleId"] 语言id=当前报表的语言id/// </summary>/// <param name="filter"></param>/// <param name="tableName"></param>public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName){DataRow dr = this.CacheDataList[filter.CurrentPosition];string sSQL = @"select a.fdeptid as FID, fname,ffullname as fdesc,FLocaleId,'BD_DEPARTMENT' as fformid, {0} into {1} from T_BD_DEPARTMENT a
inner join T_BD_DEPARTMENT_l b on a.fdeptid=b.fdeptid where b.FLocaleId=" + dr["FLocaleId"].ToString();KSQL_SEQ = string.Format(KSQL_SEQ, "b.FLocaleId");sSQL = string.Format(sSQL, this.KSQL_SEQ, tableName);DBUtils.Execute(this.Context, sSQL);}public override List<Core.Report.SummaryField> GetSummaryColumnInfo(IRptParams filter){List<Core.Report.SummaryField> fls = new List<Core.Report.SummaryField>();Core.Report.SummaryField fs = new Core.Report.SummaryField("FLocaleId", Core.Enums.BOSEnums.Enu_SummaryType.SUM);fls.Add(fs);return fls;}/// <summary>/// 分页报表必须实现的方法,此方法用于为报表提供分页依据。/// 比如以下示例:分别按语言来对部门分类,也就是说每种语言一个报表,中文的是一个报表、英文的一个报表,繁体的一个/// </summary>/// <param name="filter"></param>/// <returns></returns>public override DataTable GetList(IRptParams filter){DataTable dt;string sSQL = "select FLocaleId from T_BD_DEPARTMENT_L group by FLocaleId";dt = DBUtils.ExecuteDataSet(this.Context, sSQL).Tables[0];return dt;}public override ReportTitles GetReportTitles(IRptParams filter){ReportTitles titles = new ReportTitles();if (CacheDataList == null){ DataTable dt =  GetList(filter);if (dt != null && dt.Rows.Count > 0){//titles.AddTitle("FCondition", dt.Rows[0]["flocaleid"].ToString());return titles;}return null;}DataRow dr = this.CacheDataList[filter.CurrentPosition];//titles.AddTitle("FCondition", dr["flocaleid"].ToString());return titles;}public override ReportHeader GetReportHeaders(IRptParams filter){// TODO:ReportHeader header = new ReportHeader();header.AddChild("FID", new LocaleValue(Kingdee.BOS.Resource.ResManager.LoadKDString("编码","002460030014674",Kingdee.BOS.Resource.SubSystemType.BOS), this.Context.UserLocale.LCID));header.AddChild("fname", new LocaleValue(Kingdee.BOS.Resource.ResManager.LoadKDString("全名","002460030014677",Kingdee.BOS.Resource.SubSystemType.BOS), this.Context.UserLocale.LCID));header.AddChild("fdesc", new LocaleValue(Kingdee.BOS.Resource.ResManager.LoadKDString("别名","002460030014680",Kingdee.BOS.Resource.SubSystemType.BOS), this.Context.UserLocale.LCID));header.AddChild("FLocaleId", new LocaleValue(Kingdee.BOS.Resource.ResManager.LoadKDString("类别","002460030014683",Kingdee.BOS.Resource.SubSystemType.BOS), this.Context.UserLocale.LCID),SqlStorageType.SqlInt);return header;}}
}

转载于:https://www.cnblogs.com/fyq891014/p/4188794.html

K/3Cloud 分页报表示例参考相关推荐

  1. Lua快速入门篇(XLua教程)(Yanlz+热更新+xLua+配置+热补丁+第三方库+API+二次开发+常见问题+示例参考)

                            <Lua热更新> ##<Lua热更新>发布说明: ++++"Lua热更新"开始了,立钻哥哥终于开始此部分的探 ...

  2. power bi报表html,Power BI 服务中的分页报表

    Power BI 服务中的分页报表 10/11/2020 本文内容 适用对象: 面向商务用户的 Power BI 服务 面向设计者和开发人员的 Power BI 服务 Power BI Desktop ...

  3. scroll事件实现监控滚动条并分页显示示例(zepto.js)

    scroll事件实现监控滚动条并分页显示示例(zepto.js  ) 需求:在APP落地页上的底部位置显示此前其他用户的购买记录,要求此div盒子只显示3条半,但一页有10条,div内的滑动条滑到一页 ...

  4. Vue+element-ui 实现表格的分页功能示例

    Vue+element-ui 实现表格的分页功能示例 template部分: <el-table:data="tempList":header-cell-style=&quo ...

  5. Spring Boot + JPA + Freemarker 实现后端分页 完整示例

    Spring Boot + JPA + Freemarker 实现后端分页 完整示例 界面效果 螢幕快照 2017-07-28 15.34.42.png 螢幕快照 2017-07-28 15.34.2 ...

  6. 用Dreamweaver+ASP实现分页技术的参考

    今天心情有点激动,想把"关于用DW+ASP实现分页技术的参考"分享给用DW+ASP做网页的朋友们.去掉只有"第一页,前一页,下一页,最后一页"的小痛苦 . 此效 ...

  7. 阿里云图像识别Java调用示例参考

    阿里云图像识别Java调用示例参考 简介: 本文给出使用Java语言分别使用网络图片和本地图片调用场景识别API的示例. 概述 图像识别服务(Image Recognition)基于大数据和深度学习实 ...

  8. Power BI Paginated Reports分页报表

    为什么有时候使用分页报表,不直接使用power bi的报表.在SQL Server Reporting Services(SSRS)里就有分页报表的功能. 分页报表最适合需要为打印或 生成 PDF形式 ...

  9. 阿里云人脸识别C#调用示例参考

    概述 前面介绍了关于阿里云人脸识别Java调用示例参考,本文主要介绍C#调用阿里云人脸识别服务,参数等的获取参考阿里云人脸识别使用流程简介. Code Sample 1.使用网络图片 using Sy ...

最新文章

  1. Android EditText回车不换行
  2. 懒到极致之怒撸一键打包发布系统
  3. 机器学习导论(张志华):正定核性质
  4. 软件测试基础课程学习笔记4--测试用例设计方法技巧
  5. php文章上一篇,thinkphp5实现文章上一篇,下一篇
  6. VMWARE:NAT模式连接外网
  7. ISO50001认证辅导,ISO50001验厂优化所有流程中的能源性能,促进更高效的能源管理
  8. vscode主题 webstorm_vscode/webstorm快捷键
  9. MATLAB插值函数_akala啦_新浪博客
  10. 未受信任的企业级开发者_“未受信任的企业级开发者”是什么意思?怎么解决?...
  11. Linkin-1.0.0提交spark任务到HDP环境报错:failed to request external resource provider
  12. 京东数据化运营(四)— 客单价篇
  13. 【立创开源】ESP8266制作的1.44寸TFT显示屏太空人天气时钟(st7735)(增加农历显示)(抄作业)
  14. 2022年第十三届蓝桥杯省赛C/C++B组个人题解
  15. 2021-06-17springboot本地正常启动,部属服务器找不到外部文件 file:/apps/xxx/xxx/xxx.jar!/BOOT-INF/classes!/
  16. Qt QStringLiteral
  17. 渗透学习日记day5
  18. 如何提交form表单嵌套(提交表单外的数据方法 )
  19. 第16届重型车辆运输技术国际大会(HVTT16) 2021中国国际道路运输装备科技博览会(RTET)
  20. 【学习率】梯度下降学习率的设定策略

热门文章

  1. POJ 2785 4 Values whose Sum is 0
  2. grep 打印出过滤字段及后3行内容
  3. 【转】C++11 并发指南五(std::condition_variable 详解)
  4. C# HashTable 使用用法详解
  5. 从央视到谷歌:聊一聊竞价广告的机制设计
  6. 有逼格的产品经理都用什么样的杯子?
  7. 利用「接口」做产品时我们该如何思考?
  8. PMCAFF微课堂 | 京东核心团队揭秘:业务增长10倍背后的敏捷开发秘籍
  9. 【Party】现在只是一张普通的照片,以后可能就是历史。
  10. java架构程序员月入破3万到底是怎么炼成的,一篇文章让你了解