问题:

在打印模板中获取子表内容,可从数据库中取数据,而当前项目数据库里面数据按年度录入,但是只需要显示近3年的数据,插件如何实现排序取数据?

解决方法:

1、先直接写一个SQL语句,把近3年排序后的数据读取出来

2、在调用子表接口加载数据

3、示例:

varmonthly = DateTime.Now.Month;

var selectsql =string.Format(@"SELECT

t1.Yearly,

t1.Monthly,

t1.BudgetUnitName,

t1.BudgetUnitCode,

t1.BudgetItemName,

t1.BudgetItemCode,

t1.Budget

FROM XL_YS_BudgetPay t1

WHEREt1.Yearly = {0}

--AND Monthly > {1}

AND t1.BudgetUnitCode = '{2}'

AND BudgetItemCode = '{3}'

ORDER BY Monthly", yearly, monthly, budgetunitcode,budgetitemcode);

var dt =OThinker.H3.WorkSheet.AppUtility.Engine.Query.QueryTable(selectsql);

var list = newList<BizObject>();

var monthlist = newList<string> { "Jan", "Feb", "Mar","Apr", "May", "Jun", "Jul","Aug", "Sep", "Oct", "Nov","December" };

if (dt.Rows.Count > 0)

{

//DeptCostBudgetInfo 为子表名称

BizObjectSchemachildSchema = this.ActionContext.Schema.GetProperty("DeptCostBudgetInfo").ChildSchema;

varbizObject = new BizObject(this.ActionContext.Engine, childSchema,this.ActionContext.User.UserID);

bizObject["DataType"]= "原始";

bizObject["BudgetItemName"]= dt.Rows[0]["BudgetItemName"].ToString();

bizObject["BudgetItemCode"]= dt.Rows[0]["BudgetItemCode"].ToString();

varbizObject2 = new BizObject(this.ActionContext.Engine, childSchema,this.ActionContext.User.UserID);

bizObject2["DataType"]= "修改";

bizObject2["BudgetItemName"]= dt.Rows[0]["BudgetItemName"].ToString();

bizObject2["BudgetItemCode"]= dt.Rows[0]["BudgetItemCode"].ToString();

for(int i = 0; i < monthlist.Count; i++)

{

bizObject[monthlist]= dt.Rows["Budget"].ToString();

bizObject2[monthlist]= dt.Rows["Budget"].ToString();

}

list.Add(bizObject);

list.Add(bizObject2);

}

if (bos != null)

{

if (bos.Length > 1)

{

list.AddRange(bos);

}

}

this.ActionContext.InstanceData["DeptCostBudgetInfo"].Value =list.ToArray();

ActionContext.InstanceData.Submit();

转载于:https://www.cnblogs.com/1774bpm/p/6296556.html

关于H3 BPM数据库如何实现排序取数据的问题相关推荐

  1. php 爬数据库,php爬虫爬取数据并存储至数据库

    php爬虫爬取数据并存储至数据库 准备:php环境,phpspider请自行下载 下载地址:https://github.com/owner888/phpspider 文档:https://doc.p ...

  2. 数据库学习2 排序检索数据

    使用SELECT 的子句 ORDER BY 例:SELECT prod_name FROM Products ORDER BY prod_name; 按多个列排序:SELECT prod_id,pro ...

  3. 把爬取信息导出到mysql,关于爬虫学习的一些小小记录(四)——爬取数据存入数据库...

    关于爬虫学习的一些小小记录(四)--爬取数据存入数据库 创建数据库 pymysql 模块 具体操作 预知后事如何 前面我们已经讲了怎么访问网页,并且从网页源码中提取数据.既然数据有了,怎样管理就是下一 ...

  4. mysql根据排序取前百分之二十_MySQL 性能优化 MySQL常见SQL错误用法

    1. LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方.比如对于下面简单的语句,一般DBA想到的办法是在type, name, create_time字段上加组合索引.这样 ...

  5. Java中对查出的数据计数_基础算法7:从数据库某个字段中取出现次数最多的几条数据形成“热门xxx”...

    在这里,我们需要查出所有的"出发城市"和"到达城市",并对每个城市进行计数根据其出现次数来取出几个出现次数最多的城市为热门城市 注:将多个字段的数据合并在一起并 ...

  6. python mysql limit_数据库mysql中LIMIT取值

    在查询数据的时候,我们想要查出最大或最小的值需要进行筛选.mysql数据库中有没有能实现这类取值的函数呢?小编想说LIMIT是个不错的选择,引申为限制的意思,在用法上和名称也非常贴合.接下来小编就带大 ...

  7. 实战:爬取数据存入数据库并做可视化分析

    本文选用天气预报数据作为本次文章的主题. 本文大致思维:首先登录网站,查看网页内容及数据格式(使用代码查看内容),选择两个城市及对应月份,爬取对应天气数据,进行数据预处理(如缺失值处理.数据类型转换. ...

  8. php mysql取出来,php从mysql数据库中取数据

    php从数据库中取数据  面向过程 $server_name="localhost:3306"; //数据库服务器名称 $username="root"; // ...

  9. 数据库中自定义排序规则,Mysql中自定义字段排序规则,Oracle中自定义字段排序规则,decode函数的用法,field函数的用法

    数据库中自定义排序 场景:有一张banner表,表中有一个status字段,有0, 1, 2三个状态位,我想要 1,0,2的自定义排序(这里是重点),然后再进行之上对sequence字段进行二次排序( ...

最新文章

  1. 实现EditText输入金额(小数点后两位)
  2. Requirement already satisfied 解决方法
  3. 【安全漏洞】Resin解析漏洞分析
  4. python机械手标定_机械手姿态的获取,ros,臂,当前,位姿
  5. 做移动应用使用地图API时需要注意的问题
  6. java中解密技术是什么_详解Java 加密解密技术的分类和归纳
  7. LightGBM——提升机器算法(图解+理论+安装方法+python代码)
  8. 【HTML/CSS】单位小结
  9. FusionCharts Free(2)
  10. 亿赛通加密软件不显示小锁图标
  11. 电脑使用过程中“xx指令引用的xx内存。该内存不能为written或read”的解决方案!
  12. P3554 [POI2013]LUK-Triumphal arch
  13. 微笑哥,工作快乐感与快乐企业文化
  14. 谈谈我对零售云在云原生总结与思考
  15. 华为领衔,“5G+摄像头”拿下双影帝,多家国产手机凭借拍照入围MWC最佳演员... 1
  16. 如何做推广?利用今日头条吸引大量精准粉丝
  17. 软工学子与你一起了解资金时间价值 之 复利(利滚利)+ 贷款的基本常识 + 现金流量图 ——《工程经济学》
  18. Linux From Scratch v7.0中文版
  19. Concurrency and Race Conditions
  20. C# 运用开放协议连接拧紧枪控制器(马头)

热门文章

  1. java多个mapreduce_java – 在hadoop中运行多个MapReduce作业
  2. 奥鹏17计算机应用基础离线,奥鹏《计算机应用基础》离线
  3. sigkill mysql_Ubuntu不能停止mysqld
  4. python惰性求值的特点_C#教程之C#函数式编程中的惰性求值详解
  5. flash 火狐总是崩溃_win10系统火狐flash插件总是崩溃的解决方法
  6. 8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8。
  7. python写的贪吃蛇小游戏_Python贪吃蛇小游戏
  8. Linux单独编译设备树,迅为IMX6Q开发板-非设备树内核-单独编译内核驱动
  9. php mysql 分行执行,php执行mysql存储及执行脚本
  10. C语言形参和实参的区别