C# WPF 快速开发18封装数据验证逻辑
来源:互联网 发布:wow 7.0.3数据库 编辑:程序博客网 时间:2024/06/06 03:15
进行填表工作的时候,很多地方不允许为空,如果要在程序中一个个控件都来判断有没有填写数据,代码量太多。
下面注释的代码表示为处理过的代码,而且只列出了几个控件代码。代码由传智播客杨老师编写。
bool isOK = true;//数据检验是否通过
////判断非空字段不能为空
//if (txtName.Text.Length <= 0)
//{
// isOK = false;//投票只能投反对票
// txtName.Background = Brushes.Red;//背景变成红色
//}
//else
//{
// //发现有问题¬则投反对票isOK = false;
// //发现自己没问题¬也不能isOK = true;
// txtName.Background = null;//背景变成默认颜色
//}
//if (txtNational.Text.Length <= 0)
//{
// isOK = false;
// txtNational.Background = Brushes.Red;//背景变成红色
//}
//else
//{
// txtNational.Background = null;
//}
////如果SelectedIndex<0则表示没有选中任何项
//if (cbDepatment.SelectedIndex < 0)
//{
// isOK = false;
// //让combobox变红要这样搞
// cbDepatment.Effect =
// new DropShadowEffect() { Color = Colors.Red };
//}
//else
//{
// cbDepatment.Effect = null;
//}
下面进行封装处理
//ref,out
private void CheckTextboxNotEmpty(ref bool isOK,
params TextBox[] textboxes)
{
foreach (TextBox txtBox in textboxes)
{
if (txtBox.Text.Length <= 0)
{
isOK = false;
txtBox.Background = Brushes.Red;
}
else
{
txtBox.Background = null;
}
}
}
private void CheckComboBoxNotEmpty(ref bool isOK,
params ComboBox[] cmbs)
{
foreach (ComboBox cmb in cmbs)
{
if (cmb.SelectedIndex < 0)
{
isOK = false;
cmb.Effect = new DropShadowEffect { Color=Colors.Red};
}
else
{
cmb.Effect = null;
}
}
}
private void txtSave_Click(object sender, RoutedEventArgs e)
{
bool isOK = true;
CheckTextboxNotEmpty(ref isOK, txtName, txtNational, txtNativeAddr, txtAddr,
txtBaseSalary, txtTelNum, txtIdNum, txtPosition, txtNumber);
CheckComboBoxNotEmpty(ref isOK, cbGender, cbMarriage,
cbPartyStatus, cbEducation, cbDepatment);
……
}
我也还不知道ref是什么变量,先特殊地方跟着用就好吧。作者杨老师说还有一种更牛逼的方法,叫反射来着。
- C# WPF 快速开发18封装数据验证逻辑
- 封装数据验证逻辑
- C# WPF 快速开发09数据库封装类SqlHelper
- C# WPF 快速开发数据库封装类SqlHelper
- C# WPF 快速开发04数据绑定、列表控件
- C# WPF 快速开发11导入txt数据到数据库
- C# WPF 快速开发12批量数据插入数据库
- C# WPF 快速开发17数据软删除
- C# WPF 快速开发22Excel数据操作
- C# WPF 快速开发01控件
- C# WPF 快速开发02界面布局
- C# WPF 快速开发10登陆界面
- C# WPF 快速开发19存取照片
- C# WPF 快速开发23代码生成器
- C# WPF 快速开发数据库连接配置config
- WPF( 数据验证)
- WPF TextBox数据验证
- C# WPF 快速开发03工具栏、文件打开栏
- C# WPF 快速开发17数据软删除
- PowerLanguages.E: An EntityData
- 2013年6月9日 20:39:59
- Centos搭建PHP5.3.8+Nginx1.0.9+Mysql5.5.17
- struct和typedef struct彻底明白了
- C# WPF 快速开发18封装数据验证逻辑
- php在linux系统下实现百度文库功能 doc或pdf转swf预览功能
- Android-NDK开发示例--通过JNI获取MD5码
- HD ACM 切蛋糕
- C# 异常处理 <思维导图>
- zoj 2326
- Android Market google play store帐号注册方法流程 及发布应用注意事项
- C# WPF 快速开发19存取照片
- Windows7中Rational Rose 2003下载与安装示例