闲来无事,准备实现早就想好了的一套自定义报表工具,先做自定义数据查询部分,这部分在以前工作中曾做过类似的,但由于其他原因,采用的一直不是我理想中的运作方式,现在用我想要的方式重新写了一个,规划中的输入接口代码如下,后台只接受RequestInfo信息,这个信息里包含了请求的结果和条件。
public class RequestInfo
{
private long cateId; //查询类别
private String logic;// 逻辑关系式
private List<RequestCondition> condList; //请求条件集合
private List<RequestResult> resultList; //请求要返回的结果集合
private int page; //第几页数据
private int pageRows; //每页记录数
.......
}
public class RequestResult
{
private long fieldId; //结果字段ID
private int type; //类型:排序、聚集计算等
......
}
public class RequestCondition implements IOperate
{
private long id; //条件ID
private long fieldId; //字段ID
private int type; //字段类型 0--字符串 1--数字 2--日期
private int op; //操作符号
private String value; //条件值
private int group; //条件分组
......
}
输出接口代码如下:
public class ResultList
{
private int currPage; //当前页
private int pageRows; //每页记录数
private int allRows; //查询到的总记录数
private int maxPage; //最大页
private Map<String, String> titleList; //表头
private List<Map<String, String>> dataList; //数据
......
}
已完成的功能界面
拖拽条件和结果操作界面:
查询结果界面
已完成了大约1/3部分,后面接着要完成报表生成部分,准备采用excel做报表设计器,等完成再继续吧
分享到:
相关推荐
- 通过编写动态查询语句,可以根据用户的输入来过滤数据。 **7. 矩阵报表** - 矩阵报表是一种特殊类型的报表,可以展示多维数据。 #### 四、Oracle数据库基础 **1. 常用函数** - Oracle数据库提供了丰富的内置函数...
- **示例**:简单的输入输出程序。 #### Point5:条件结构 - **定义**:根据不同的条件执行不同的代码块。 - **示例**:使用If...Then...Else语句实现。 ### 十、VBA编程(2) #### Point1:循环结构 - **类型**...
总结,ireport 是一款强大的报表设计工具,通过其直观的图形界面,用户可以轻松创建、编辑和管理 JasperReports 报表。无论是在 Windows、Linux 还是 Unix 系统上,ireport 都提供了便捷的安装和配置方法,帮助用户...
- **应用**: 用户可以自定义界面布局和颜色设置。 **2.4 DBdoctor** - **功能**: 数据库诊断工具。 - **作用**: 修复数据库错误,提高稳定性。 **2.5 Plane Rat** - **特性**: 改进了平面填充算法。 - **效果**:...
- 覆盖了数据库连接、查询执行、报表生成及打印输出的技术。 #### 第七章:从文件中存取资料 - 阐述了读写文件的技巧,包括文本文件、二进制文件等。 #### 第八章:发行应用程序 - 指导如何打包和发布应用程序,...
控件是用户界面的重要组成部分,它们使用户能够与应用程序交互。在 Excel VBA 中,有两种主要类型的控件:可以添加到工作表上的控件和可以添加到用户窗体上的控件。 **3.2.1 标签** 标签是一个静态文本区域,用于...
本章节介绍了Allegro PCB Layout 14.2版本中的新增功能,这些改进有助于提高设计效率和质量,以下列举部分重要功能: - **SaveDesign to 14.0(2.1)**:支持将当前设计保存为早期版本兼容格式,方便与使用旧版软件...
103 <br>0167 锁定文本框内的文本 103 <br>0168 使用Message.Show输出用户信息 104 <br>5.3 图片数据处理技巧 104 <br>0169 如何将图片存入数据库 104 <br>0170 如何将图片从数据库中读取...
`QPrintPreviewWidget`可以嵌入到自定义的用户界面中,而`QPrintPreviewDialog`则是一个独立的对话框,更便于快速集成。 以下是一个简单的打印和预览流程: 1. 创建`QPrinter`对象,并根据需求配置打印机设置。 ``...