最近加菲猫在开发云打印功能,有个需求是打印锐浪报表,而报表的本身文件和数据其实是分开的,就得思考数据如何加载。
传统的设计思路是ODBC来加载数据,但这样如果把这样的连接串暴露在客户端,这是比较危险的事情,而且云打印模式直连也会把数据库带崩。幸好,锐浪报表提供了从URL中加载JSON和XML数据的方法,从而猫框与锐浪报表就可以很方便的互动了。
Define Class a1send As Session
*-- 发送表JSON
Procedure sendcursor
If !Used("教师")
Use 教师 In 0
Endif
Return cursortojson("教师")
Endproc
Enddefine
返回的JSON:
{
"total": 7,
"count": 7,
"rows": [{
"id": 3,
"老师编号": "001",
"老师姓名": "张三",
"物理地址": "5666",
"ip": "111"
}, {
"id": 9,
"老师编号": "001",
"老师姓名": "张三",
"物理地址": "谁又爱上了谁 11",
"ip": "不想见你"
}],
"errno": 0,
"errmsg": "ok"
}
插入报表头
插入明细表格
定义数据库连接串与查询SQL或URL
创建字段:执行菜单“编辑-〉根据明细数据源生成字段”,此时在右上角的对象浏览窗口的“记录集”节点下会 出现很多字段子节点。
创建列:执行菜单“编辑-〉根据明细字段生成表格列”,此时在明细网格上会显示很多列。
设计完成后,如下图所示,保存grf文件就可以使用了。
预览一下效果
根据实际情况做打印设计吧,锐浪报表分CS模式下和BS模式打印加载,我现在这里是设计的是云打印,所以暂时就不上代码了。多去看看官网实例学习吧。
目前来看锐浪报表非常符合中国人的习惯,值得推荐。