# 如何做一个列表式报表?
> 有时候,我们需要这样一张报表,数据内容可以自定义写sql实现,而且还具备列表的全部功能(导出,多列头,过滤等),此时你就需要使用“列表式报表”
![效果演示](https://box.kancloud.cn/028349feae6ab1f03f225feb8c1ff363_1742x873.png)
#### 实现步骤
1. 根据报表数据列建立对应的mdl文件
![](https://box.kancloud.cn/d0c1bb2fdfca6feb7b0599049f1b2974_1906x604.png)
+ 报表列表mdl需要放在ydj/rpt目录下
+ basemodel="rpt_basetmpl"。basemodel要继承报表模板
+ 当需要实现多列头合并时,则加"ht"属性
2. 编写后台接口文件
![](https://box.kancloud.cn/cde8c837570e0c400701143ac50f278e_1878x704.png)
+ 后台插件要放在Report下
+ [OperationNo("QueryListReportData")],这里是固定值
+ 插件要继承“AbstractReportServicePlugIn”
3. 编写数据插入逻辑。平台会自动产生一个临时数据表,数据表里的数据会在特定时刻进行清空操作,我们所要做的就是数据插入
![](https://box.kancloud.cn/a8318b4447f4ac80b725a9726f14f346_278x468.png)
![](https://box.kancloud.cn/cf029560c52603b5904fe56ef298e084_1145x467.png)
- 业务开发详解系列
- 基础名称概念解释
- 开发调试环境搭建
- 基础资料开发详解
- 单据开发详解
- 动态表单开发详解
- 业务报表开发详解
- 单据转换流程开发详解
- 套打功能设计详解
- K3Cloud系统集成配置详解
- 系统集成开发详解系列
- 基础介绍
- 接口设计原则
- 接口访问授权
- 数据字典介绍
- 接口调用示例
- 业务应用开发Q&A
- 项目整体介绍
- 如何锁定或解锁某个字段?
- 如何锁定或解锁某个菜单按钮?
- 如何显示或隐藏某个字段?
- 如何显示或隐藏某个菜单按钮?
- 如何实现(金额=单价*数量)这样表达式计算?
- 如何使一个视图元素(按钮,标签等)具备发起一个服务请求?
- 如何向操作中传递固定参数?
- 如何向操作中传递可变或动态参数?
- 如何让一个操作具备确认交互能力?
- 如何让一个操作具备复杂交互界面能力?
- 如何设置一个字段为必录?
- 选择基础资料,如何携带出其它字段信息
- 如何进行字段校验(手机号,邮箱,身份证)?
- 如何作一个列表式报表?
- 表头字段唯一验证