stimulsoft reports是一款强大的报表开发工具,能够开发各式各样的报表. 对于初学者而言,任何报表开发,刚开始都是去模仿,熟练掌握之后,自己才能独立开发,而在报表开发实际过程中, 我们所模仿的报表样式,并不能达到我们预期的效果,而且模仿别人的报表,本地也不一定有别人的数据库,叶无法预览 别人的报表效果,我觉得stimulsoft reports最大的优势就在于,它能够根据你所选择的DEMO,自动生成魔板样式,而 我们只需要根据魔板样式,去填充自己的数据,这样就可以很快的按照客户要求…
我们在通过stimulsoft reports做报表,有的时候,我们需要通过合并报表的一些中间列元素,我们就可以用到panel组件 如下图,我们需要合并报表中间项,一般手段达不到要求,只能通过嵌套panel 将需要合并的项作为父组件,然后其他项通过panel,往里面嵌套,就能达到效果!…
stimulsoft reports关系的2大有点 1,跨数据库. 在做报表的时候,我们可能会从不同的数据库中取数据,这个时候,我们就可以利用关系 通过关联的字段,将2者关联起来,然后就可以在报表里面直接引用. 2,减少sql语句的复杂度 有的时候,我们取数据来源多张表,如果我们直接写一条sql,这样效率很低,而且sql语 句层次比较清晰,改动某个模块,也能避免对其他模块造成影响. 如下所示:通过引用关系,就分配数据源跟明细数据源进行管理 关系的设置如下:通过2个数据源里面的某个字段就行关联既可…
[背景] 使用之中发现一些eclipse使用的小技巧,记录下来供以后查阅   由于机器是老婆的,创建新类的时候或者生成注释的时候全都是她的名字,避免弄混,需要设置一下: 设置创建新类时自动生成类或方法注释 进入Eclipse->Preferences->Java->Code Style->Code Templates->Code->New Java Files, 修改为如下: ${filecomment} ${package_declaration} /** *类说明…
最后更新日期 2019-06-22 一.前言 在 PX4学习之-uORB简单体验 中指出, 使用 uORB 进行通信的第一步是新建 msg.在实际编译过程中,新建的 msg 会转换成对应的 .h..cpp 文件. Firmware 使用 CMake 来管理整个项目,文件解析以及转换成也是使用相关 CMakeLists.txt 里的命令来完成. msg 文件调用的是 CMakeLists.txt 中的 add_custom_command 命令.add_custom_command 最终调用在 m…
我们在通过stimulsoft设计报表的时候,有的时候,需要做出如下图报表样式 这个时候,因为箱号是分开扩展的,我们就需要用到分组页眉了,如下图demo跟实例所示:…
作为dtcms的使用者你是不是像我一样,也在不停的修改模板之后要点击生成模板浪费了很多开发模板的时间? 那就跟我一起给dtcms增加一个开发者模式,当模板修改完成之后,直接刷新页面就能看到效果,而不再重复的生成模板,生成模板了! 1,增加开发者模式控制选项,和开发是所用的模板 所需要修改的内容有dtcms Model层 sys_config.cs 增加两个字段 private int _develop = 0;        private string _tempName = "main&qu…
之前写过一篇文章,地址 http://www.cnblogs.com/Bond/p/3469798.html   大概说了下怎么通过反射来自动生成对应EasyUi datagrid的模板,然后贴了很多代码,看起来很乱,当时没用过easyui,没啥经验. 这次经过了项目的实际考验,我把它做了一些改动,在此分享下,并且附上源码,源码需要用vs2012打开,打开即可运行不要做任何设置.源码地址在 https://github.com/LittleBearBond/GenerateEasyUiDataG…
T4 模板自动生成带注释的实体类文件 - 只需要一个 SqlSugar.dll 生成实体就是这么简单,只要建一个T4文件和 文件夹里面放一个DLL. 使用T4模板教程 步骤1 创建T4模板 如果你没有可以在我的DEMO里拿 步骤2 设置当前T4所需要的序集并且引用 SqlSugar.dll 编写连接数据库代码 调用SqlSugar生成实体函数,填写参数. 图片看不清楚看下面代码  T4代码 步骤3 CTRL+S这个T4模版,便会生成实体文件,包含到项目便可. DEMO都在GIT上有 SqlSug…
得益于前辈的分享,做了一个h5录音的demo.效果图如下: 点击开始录音会先弹出确认框: 首次确认允许后,再次录音不需要再确认,但如果用户点击禁止,则无法录音: 点击发送 将录音内容发送到对话框中.点击即可播放.点击获取录音即可下载最后一次的音频: 播放下载都是围绕blob文件.播放就是让隐藏的audio标签的地址指向内存中的blob: this.play = function (audio,blob) { blob=blob||this.getBlob().blob; audio.src =…