8.1运行效果: 8.2开发实现: 1.  先要创建.grf报表模版,指定数据列.存储位置:Reports\Template文件夹下 2.  之后在程序当中查出数据,之后把数据和打印模版 传入方法进行打印. BaseInterfaceLogic.ShowPrintReport(dtData, "BaseOrganize.grf"); 3.在项目中选择模版文件右键属性:复制到输出目录配置成”如果较新则复制” 8.3报表模版创建方法: 1.报表模版的设计技巧,就是创建一个空的模版或者按向导…
"我有一个好创意,就差一个CTO……" "原生APP开发难度大,周期长,成本高,还没上线市场已经被占领了." "APP版本迭代更新,都是企业的一道难关,没有一个一劳永逸的解决方式吗?" "一个Web开发者如何能快速适应移动互联网时代,用HTML5开发出一个APP呢?" "安卓.IOS双平台同时开发,程序员都累死在加班的路上了……" 针对行业痛点,国内外涌现出众多APP开发工具,开发者只要有相关的HTML5.…
1运行效果: 2开发实现: .组装站内信息发送实体对象. SNFService SNFService = new SNFService(); if (this.ucUser.SelectedIds != null) { // 发送信息 BaseMessageEntity messageEntity = new BaseMessageEntity(); messageEntity.Id = BusinessLogic.NewGuid(); messageEntity.FunctionCode =…
1运行效果: 2开发实现: 如果需要单独显示PDF文件时用下面代码去实现,指定url地址. 地址: . 获取附件管理的实体对象: List<KeyValuePair<string, object>> paramters = new List<KeyValuePair<string, object>>(); paramters.Add(new KeyValuePair<string, object>(BaseAttachmentsEntity.Fi…
1.调用前组装参数 2.调用发送信息服务脚本   .调用前组装参数: BaseSendTaskEntity entity = new BaseSendTaskEntity(); entity.MessType = BaseSendTaskEntity.EnumMessType.Phone.ToString(); entity.BusinessType = BaseSendTaskEntity.EnumBusinessType.MES.ToString(); entity.WindowName =…
原来我们用的是微软自带的打包工具去打包,但感觉好像也是第三方做的打包并且很是麻烦,还有时不成功报错.那综合考虑就找一个简单实用的打包工具吧,就找到了NSIS这个.具体打包步骤如下: 1.安装NSIS 打开安装程序,按照指示安装即可 2. 安装完毕,打开NIS Edit,点击文件,选择新建脚本:向导(W),如下图所示. 3. 点击下一步,在这里相应更改: (1)将应用程序名称填写*.exe文件名: (2)软件版本.出版人.网站根据实际需要填写(若没有,则保留空白即可): (3)程序标志会在安装界面…
7.1运行效果: 2.Excel导入开发实现 2.1. 创建窗体,修改命名空间 新增的窗体命名“FrmImport表名”,这个导入窗口比较其它窗口会特殊一些,需要继承BaseFormImport父级窗体 2.2.在新建窗体中写方法 构造方法,是用来设置 导入的窗体名称,和下载导入模版名称,指定必填列. 2.3.AddItem在“导入数据”事件时会被调用,并且每一行数据转换成实体对象过来,我们可以对实体对象进行操作保存或者其它处理. 2.4.添加导入按钮 2.5.在调用按钮事件写入调用导入窗体代码…
下面就具体的使用说明: 1.获取代码生成器的授权码(根据本机)-----还原数据库-------改config-----代码生成器 改代码生成器Config 2.登录代码生成器 3.查看是否连接成功 4.配置参数 下图,可在字段右键选择控件编码字段,控件名称字段 5.生成代码 6.启动程序 这个系列教程文档,欢迎转载: SNF开发平台WinForm之十四-站内发送系统信息http://www.cnblogs.com/spring_wang/p/6140031.html SNF开发平台WinFor…
9.1运行效果: 9.2开发实现: 1.首先配置服务器端,把“SNFAutoUpdate2.0\服务器端部署“目录按网站程序进行发布到IIS服务器上. 2.粘贴语句,生成程序 需要调用的应用程序的Load事件或者Program入口的Main方法第一行代码加上如下代码: 注意:是主程序的 Load事件要加上调整自动更新程序的代码.要以模式打开窗口.如果没有差异会自动关闭升级窗口显示主窗口. 3.把下面目录里的文件拷贝到 应用程序的同级目录下: 4.配置WINFORMS应用程序目录下Updateli…
6.1运行效果: 6.2开发实现: 1.先在要使用的项目进行引用,SNF.WinForm.Attachments.dll文件. 2.在工具箱内新建选项卡->选择项,浏览找到文件SNF.WinForm.Attachments.dll后会出现控件UCAttachments如下: 3.拖拽控件:UCAttachments到合适的位置上.(注:如果没有这个控件就从其它项目复制过来或者在工具箱里 选择项添加这个dll进来就有了) 4.需要配置如下属性: BusinessID业务表主键.这个主键是你业务表的…
5.1运行效果: 5.2开发实现: 1.按上面效果来说,先来看一下在程序当中如果调用.第一步在页面拖拽一个按钮为“高级查询”,事件上写下如下代码: 如果是单表查询的话,只需要传GridView就行,如果是多表查询的话需要传的参数多一些. 单表查询调用:this.ShowAdvancedQuery(this.grvGridView); 多表查询调用: this.ShowAdvancedQuery(this.grvGridView, DemoMultiTableEntity.TableName,li…
4.1运行效果: 4.2开发实现: 4.2.1          有了第一个程序的开发,代码生成器的配置应该是没有问题了,我们只要在对应的数据库中创建我们需要的表结构就可以了,如下: 主表结构如下: 细表结构如下:注意,细表需要有存储主表ID的字段. 创建表时要注意:字段的说明和表的名称描述要写: 4.2.2          表创建完之后我们来看看多表生成操作应该怎么玩.需要分别对主表.细表按单表一样的处理“表结构配置”后,进行保存.主要配置的是显示的中文名称.使用的控件.格式化.是否必填.是…
3.1运行效果: 3.2开发实现: 3.2.1 这个开发与第一个开发操作步骤是一致的,不同之处就是在生成完代码之后,留下如下圈红程序,其它删除. 第一个开发地址:开发-单表表格编辑管理页面 http://www.cnblogs.com/spring_wang/p/6116523.html 3.2.2 当然了这个就不用增加菜单了,而是生成了自定义控件.可以在工具箱里找到此控件名称为“UC+表名+Select”拖拽到窗体上就可以了,如果找不到就编译一下项目. 3.2.3 在配置一下这个选择控件的属性…
2.1运行效果: 2.2开发实现: 2.2.1 这个开发与第一个开发操作步骤是一致的,不同之处就是在生成完代码之后,留下如下圈红程序,其它删除. 第一个开发地址:开发-单表表格编辑管理页面 http://www.cnblogs.com/spring_wang/p/6116523.html 2.2.2 菜单配置项上配置如下就可以了: 这个系列教程文档,欢迎转载: SNF开发平台WinForm之十四-站内发送系统信息http://www.cnblogs.com/spring_wang/p/61400…
1.1运行效果: 1.2开发实现: 1.2.1          首先在数据库中创建需要开发的数据表,在代码生成器中进行配置连接数据库. 代码生成器的Config.xml文件配置如下节点: 1.2.2          之后打开代码生成器 SNF.CodeGenerator.exe.再之后选中需要开发的数据库和数据表. 1.2.3          选中之后在“表结构配置”区域可以进行配置,字段要显示的中文名称,显示时所使用的控件,如:文本框.文本域.数量控件.金额控件.下拉框(直接选择数据字典…
一.显示效果: 二.程序实现: 1.先要在 打印模版程序 给指定页面进行在线设计打印模版 2.在使用的程序当中,增加如下代码即可.程序上是可以挂多个打印模版的,程序页面的代码不用动直接可以读取到打印模版程序配置的多个打印模版.  2.1页面js代码如下: this.printClick = function(_id){ snf.printMessageConfirm(function(){ snf.printAllPlug(_id, self.urls.query, self.queryForm…
一.显示效果如下: 二.在控件库里选择UCTimeAxis 拖拽到窗体里. 三.加入以下代码,在load事件里进行调用就可以运行了. #region 给时间轴控件加载数据 private void UCTimeAxisData() { //增加节点 List<KeyValuePair<string, string>> list = new List<KeyValuePair<string, string>>(); list.Add(", "…
今天做了一个windows系统下调用摄像头.进行开启.关闭.拍照.设置等等功能演示. 进行源码贡献,欢迎大家下载使用 一.DEMO效果如下: 二.DEMO演示代码如下: using SNF.Utilities; using SNF.WinForm; /// <summary> /// CameraDemo.cs /// Windows摄像头调用DEMO /// /// 修改记录 /// /// 2016.10.28 版本:1.0 WangJinDou 创建. /// /// <autho…
上一篇讲到,如何快速创建报表程序了.这篇教大家如何快速制作图表报表. 继上一篇,Winform开发框架之图表报表在线设计器-报表 上一篇讲到如何了创建数据源,这里就不在介绍了.那我们就直接从图表设计器开始. 整体设计思路是:1.创建数据源(SQL脚本.存储过程)2.配置显示列名.查询条件等信息,基本信息如图表类型.x.y轴等.3.发布到菜单,按权限授权进行显示. 第一步:打开图表设计器如下 1.图表菜单区域,都有哪些图表. 2.图表预览显示区域 3.选择数据源,配置图表的查询条件和显示的控件.样…
带过项目和做过项目的人都知道,在客户现场客户的需求是百般多样的,今天要查销售出库情况,明天要看整个月的各部门销售情况,后天要查全年每个客户的项目金额.一直以前都有新需求,虽然会有售后收益,但如果有一个好用的报表设计工具也就好维护了,还可以把报表设计工具卖给客户,培养他们自己做报表.所以一直梦寐以求的希望有一个即实用又方便的工具.基于这点就在今年我对EasyQuery这个项目进行了整体规划的开发.现在已经完成了第一个版本是WinForm版的,只要做写sql语句.知道表结构就可以做报表和图表. 目前…
最近项目太多都没有时间写文章了,实际项目需求一,CS端和windows平板都需要附件上传管理功能.以前做的都是BS的附件管理和上传功能.本来计划在Winform上嵌套一个浏览器直接用bs的附件上传功能.在测试时是没有什么问题的.但回头一想,有些客户他们只用cs程序并不需要我的们bs程序和功能,也就是不需要部署那么多.所以为了减少部署麻烦和使用方便我们就想着开发一个CS端通用的附件管理组件.在网上也查找了不少的资料,后来看到伍华聪的blog有写winform版的开发的通用附件管理.看效果还是不错的…
最近项目确实忙,但也是一直忙于有关项目和框架技术的事情,也一直致力于改善我的WInform开发框架.使得自己及客户使用起来更加方便,更加友好,更加高效. 在很多程序模块中都很常见,也是给客户扩展查询的一个很好的补充,由于我一直希望我的Winform开发框架能够精益求精,所以做了这个模块,希望对今后我自己所有的项目以及框架本身,都能高效的使用. 1.通用高级查询模块的用途及介绍 既然称之为通用查询模块,那么他就不能与具体的表字段有耦合关系,但是要实现具体的查询,必须通过某种方式进行属性传递,实现更…
SNF快速开发平台成长史 SNF框架CS\BS 视频教程 https://pan.baidu.com/s/1dFegFKX SNF开发机器人教程:链接:https://pan.baidu.com/s/1Qpomg11c_1b1NKY5P7e4Bw 密码:jwc3 2018年:开启新纪元-SNF软件开发机器人时代 1-5月份在研发 SNF软件开发机器人,并取得了很好的业绩.http://www.cnblogs.com/spring_wang/category/1168789.html 可以通过配置…
我们在做项目当中会经常用到按时间进度查看任务,其通过条状图来显示项目,进度,和其他时间相关的系统进展的内在关系随着时间进展的情况. 甘特图包含以下三个含义: 1.以图形或表格的形式显示活动: 2.通用的显示进度的方法: 3.构造时含日历天和持续时间,不将周末节假算在进度内. 简单.醒目.便于编制,在管理中广泛应用.   在我们的CS框架当中也进行集成了甘特图进行显示我们的生产订单及生产任务进度情况,和完成情况.如下: ---------------------------------------…
审核流设计和使用参考以下资料: 审核流设计 http://www.cnblogs.com/spring_wang/p/4874531.html 审核流实例 http://www.cnblogs.com/spring_wang/p/4874584.html 本文主要介绍一下,审核流在审核过程当中,审核人会接到审核提示邮件,并且不需要登录系统直接在邮件里进行审核处理.通过联网和单点登录与邮件发送技术来实现. 下面以一个请购单为例 2.当单据提交之后,接受审批的人就会接到一封邮件如下:(按审核人在用户…
名片管理实际的做的意义在于演示应用,在这里使用的技术有排序控件,查询条件.自由样式瀑布流式分页等技术. 下面是自由样式效果图: 下面表格样式效果图: 具体操作: 新增名片 在新增时可以上传图像进行裁剪组件处理(公用组件): ------------------------------------------------------------------------------------------------------------------------------------------…
1.   表格单元格合并组件 1.1.      效果展示 1.1.1.    页面展现表格合并单元格 图 4.1 1.1.2.    导出excel合并单元格 图 4.2 1.2.      调用说明 1.2.1.    表格合并单元格调用说明 首先,要有一个在viewModel中绑定的表格,例如,我们有一个绑定对象为this.grid的表格 我们要在表格的onLoadSuccess事件中添加一个方法 snf.mergeCellsByParentField ("grid", &quo…
1.   单据状态水印 1.1.      效果展示 1.2.      调用说明 与easyui的调用方式类似,可以在js中调用,也可以在html中写好所有属性,直接渲染. 如下,在html中写好所有属性时,需要将所有属性写在标签的status-bind属性中,statusType为audit时,表示审核状态,审核状态值包含AuditPass,AuditQuash,AuditReject,Close,Making,Pause,WaitForAudit,statusValue表示默认值, lef…
1.   瀑布式分页 目前已经比较流行了,以往的这种点击分页已经不能满足广大网民的需求了.像百度图片等等,网站都有滚动滚轮直接分页的功能,这样体验也确实好了不少,所以我们也决定在我们的框架内进行集成此功能.一种针对于我们的表格控件进行瀑布式分页,另一种是针对于网页自定义样式瀑布式分页. 1.1.      效果展示 1.1.1.    表格瀑布式分页 图 3.1 1.1.2.    任意文本的瀑布式分页 图 3.2 1.2.      添加引用 <script src="~/Content…
1.   高级查询 在我们做项目的时候经常想要按名称.编号进行查询数据,可在开发时会把最常用的查询条件写上,不常用的就不写了,也是因为把所有字段都写上太多了,布局不好看而且不实用.还有些查询条件几百年用那么一次,也不能用到时调整一下程序.基于这些考虑我们做的一个高级查询组件,可以把所有列都作为查询条件,把最常用的查询条件还正常放在页面上.点击高级查询按钮后,会有所以列作为筛选条件方便进行查找,别如果本次条件比较多还可以保存起来为一个查询方案,下次时可以方便再次查询. 1.1.      效果展示…