CS程序也能做到像BS程序一样的验证效果,如下: 1.验证控件的展示 校验时如果不符合验证条件的控件,会在控件上显示较显眼的图标. 当出现不符合验证的控件时,鼠标悬浮会显示自定义的提示信息. 如:输入邮箱格式不正确! 校验可自定义.正则表达式或流程逻辑均可. 图标的样式默认为红色异常提示.全部样式如下三种.      2.可支持的常用控件    BS页面校验DEMO -----------------------------------------------------------------…
项目里有些不同页面间的日期显示格式是不同的, 第一个问题: 比如我用日期控件WdatePicker.js导包后只需在input标签里加上onClick="WdatePicker()"就可以用了,但是默认是没有时分秒的,如果需要显示时分秒只需要加上WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})就行. **************************************************************************…
在<Js表单验证控件(使用方便,无需编码)-01使用说明>中,写了Verify.js验证控件的基本用法,基本可以满足大多数验证需求,如果涉及服务端的验证,则可以通过Ajax. Ajax验证有两种,一种是前端验证,一种是请求服务器端的验证,例如验证密码是否正确. 前端验证很简单,verify.js验证控件的基本原理就是点击验证按钮时,遍历各处控件上的验证属性,如果不满足验证条件,则返回false; 当ajax异步验证时只是调用了验证按钮的事件. 如下,验证表单中的b组控件 Verify.IsPa…
自己工作常用到表单录入验证,就顺手写了一个验证控件,刚开始写得很烂.多年后翻出来,又优化了一下,增加了一些功能.拿出来分享分享. 主要功能就是表单的录入验证. * 1.当录入框必填时,在控件后生成红色星号(设置star=false时不显示星号):* 2.根据控件属性判断需要录入的数据格式,如果非法则阻止提交并弹出提示* 3.支持分组验证,以及组的交叉验证. 主体功能:1.非空验证 2.字符长度验证 3.数值区间验证 4.输入是否相同 5.不等于某值 6.数据类型验证 7.文件类型限制 8.首尾字…
演示地址:http://weishakeji.net/Utility/Verify/Index.htm    开源地址:https://github.com/weishakeji/Verify_Js   日常开发工作中,经常用到表单填写时的录入验证,像什么电话.邮箱之类的,或是不能为空.限定录入长度.数值大小等等.技术并不复杂,但是频次挺高,网上也有很多相关代码或是插件可用,甚至有些宣称“一行代码实现验证”,我也觉得嫌麻烦.于是就动手写了一个,刚开始只是自己用,要求不高.第一版已经是很久之前了,…
演示地址:http://weishakeji.net/Utility/Verify/Index.htm    开源地址:https://github.com/weishakeji/Verify_Js   日常开发工作中,经常用到表单填写时的录入验证,像什么电话.邮箱之类的,或是不能为空.限定录入长度.数值大小等等.技术并不复杂,但是频次挺高,网上也有很多相关代码或是插件可用,甚至有些宣称“一行代码实现验证”,我也觉得嫌麻烦.于是就动手写了一个,刚开始只是自己用,要求不高.第一版已经是很久之前了,…
3.1运行效果: 3.2开发实现: 3.2.1 这个开发与第一个开发操作步骤是一致的,不同之处就是在生成完代码之后,留下如下圈红程序,其它删除. 第一个开发地址:开发-单表表格编辑管理页面 http://www.cnblogs.com/spring_wang/p/6116523.html 3.2.2 当然了这个就不用增加菜单了,而是生成了自定义控件.可以在工具箱里找到此控件名称为“UC+表名+Select”拖拽到窗体上就可以了,如果找不到就编译一下项目. 3.2.3 在配置一下这个选择控件的属性…
1.1运行效果: 1.2开发实现: 1.2.1          首先在数据库中创建需要开发的数据表,在代码生成器中进行配置连接数据库. 代码生成器的Config.xml文件配置如下节点: 1.2.2          之后打开代码生成器 SNF.CodeGenerator.exe.再之后选中需要开发的数据库和数据表. 1.2.3          选中之后在“表结构配置”区域可以进行配置,字段要显示的中文名称,显示时所使用的控件,如:文本框.文本域.数量控件.金额控件.下拉框(直接选择数据字典…
4.1运行效果: 4.2开发实现: 4.2.1          有了第一个程序的开发,代码生成器的配置应该是没有问题了,我们只要在对应的数据库中创建我们需要的表结构就可以了,如下: 主表结构如下: 细表结构如下:注意,细表需要有存储主表ID的字段. 创建表时要注意:字段的说明和表的名称描述要写: 4.2.2          表创建完之后我们来看看多表生成操作应该怎么玩.需要分别对主表.细表按单表一样的处理“表结构配置”后,进行保存.主要配置的是显示的中文名称.使用的控件.格式化.是否必填.是…
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…
一.显示效果如下: 二.在控件库里选择UCTimeAxis 拖拽到窗体里. 三.加入以下代码,在load事件里进行调用就可以运行了. #region 给时间轴控件加载数据 private void UCTimeAxisData() { //增加节点 List<KeyValuePair<string, string>> list = new List<KeyValuePair<string, string>>(); list.Add(", "…
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…
8.1运行效果: 8.2开发实现: 1.  先要创建.grf报表模版,指定数据列.存储位置:Reports\Template文件夹下 2.  之后在程序当中查出数据,之后把数据和打印模版 传入方法进行打印. BaseInterfaceLogic.ShowPrintReport(dtData, "BaseOrganize.grf"); 3.在项目中选择模版文件右键属性:复制到输出目录配置成”如果较新则复制” 8.3报表模版创建方法: 1.报表模版的设计技巧,就是创建一个空的模版或者按向导…
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…
通常我们在处理编辑窗体时.往往会遇到数据绑定.例如combobox控件绑定数据字典可能是我们经常用到的.然而在我的winform快速开发平台中我是如何处理这个频繁的操作呢? 首先,我们要绑定combobox动态数据,大致都是来自于数据字典的数据绑定,那么思路来了,我们需要绑定的是通过获取字典属性来绑定ComboBox控件.大家都知道ComboBox控件中存在显示数据,和值数据对数据值进行绑定. 那么此时我们需要定义一个实体类: /// <summary> /// ComboBoxModel数据…
一个项目控件主要由及部分的常用组件,当然本次介绍的是通用分页控件. 处理思想:我们在处理分页过程中主要是针对数据库操作. 一般情况主要是传递一些开始位置,当前页数,和数据总页数以及相关关联的业务逻辑. 当然我们不可能将控件的所有事件都发布出来. 我们返现所有的按钮操作都是围绕着我们的的查询记录来进行操作. 至此我们只需要提供出一个事件方法. 对外开放进行数据绑定即可. 完成对数据的分页参数处理. 分页控件如下图所示: 相关业务代码:主要代码由事件委托来处理 有了通用的分页控件,我们发现并没有绑定…
1.HTML表单的提交方式 对于一个普通HTML表单来说,它有两个重要的属性:action 和 method.action属性指明当前表单提交之后由哪个程序来处理,这个处理程序可以是任何动态网页或者 servlet 或者 CGI(Common Gateway Interface),在asp.net里面一般都是都aspx页面来处理.method属性指明form表单的提交方式.它有两个可能值get和post. (1)get方式提交的表单在地址栏会显示参数名和参数值,而post方式不会.用post提交…
一.创建表单 <form name = "login" method = "post" action="contact.php?action=login" class="bootstrap-frm"> <h1>联系我们</h1> <label> <span>微信* :</span> <input id="wechat" type=…
$name = test_input($_POST["name"]); if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "只允许字母和空格"; } $email = test_input($_POST["email"]); if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { $ema…
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> <style> .error {color: #FF0000;} </style> </head> <body> <?php // 定义变量并默认设置为空值 $nameErr = $emailE…
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/28484209  自己定义弹出框提示.onblur的时候就会提示,当输入正确后.1秒中后会自己主动消失. 2 側边提示(会在当前元素的父级的next对象的子级查找显示提示信息的对象,表单以ajax提交时会弹出自己定义提示框显示表单提交状态). 3 側边提示(会在当前元素的siblings对象中查找显示提示信息的对象,表单以ajax提交…
1. WPF布局一个表单 <Grid Width="400" HorizontalAlignment="Center" VerticalAlignment="Center"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <Row…
原生的Ajax对于异步请求的实现并不好用,特别是不同的浏览器对于Ajax的实现并不完全相同,这就意味着你使用原生的Ajax做异步请求要兼顾浏览器的兼容性问题,对于java程序员来讲这是比较头疼的事情,还好jQuery的出现帮我们解决了兼容性的问题,而且让异步请求的实现更加简单直观. 总结下来,jQuery对于Ajax的实现常用的方法一共有三个,分别是:$.ajax(),$.get(),$.post(),其中$.get()和$.post()方法分别是对$.ajax()方法的j简写.至于这三个方法的…