Windows应用程序开发教程(C#版)第5章第5节-资料管理课件.ppt
-
资源ID:87472166
资源大小:4.62MB
全文页数:21页
- 资源格式: PPT
下载积分:9金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
Windows应用程序开发教程(C#版)第5章第5节-资料管理课件.ppt
第第5 55 5节节 资料管理资料管理 W Wi in nd do ow ws s应应用用程程序序开开发发教教程程(C C#版版)本章学习要点本章学习要点l1.学会基本的数据验证。学会基本的数据验证。l2.学会简单的添加、修改、删除记录操作、。学会简单的添加、修改、删除记录操作、。l3.熟悉常用控件的主要事件过程。熟悉常用控件的主要事件过程。W Wi in nd do ow ws s应应用用程程序序开开发发教教程程(C C#版版)任务1数据验证通用类的设计1.实现验证合法的英文词组、合法的中文词组的设计。2.实现验证合法的电话号码、合法的手机号码的设计。3.实现验证合法的Email地址的设计。任务目标任务目标 1.NET中正则表达式。2.基本数据验证的设计。3.使用static修饰符声明属于类型本身而不是属于特定对象的静态成员。知识要点知识要点 W Wi in nd do ow ws s应应用用程程序序开开发发教教程程(C C#版版)任务1数据验证通用类的设计主要代码说明主要代码说明一、数据验证类的设计(请参见ToolsValidateUtil.cs)classValidateUtil/验证是否是合法的英文词组publicstaticboolisValidateEnglishPhrase(stringstr)stringpattern=w+s*w+$;returnRegex.IsMatch(str,pattern);/验证是否是合法的中文词组publicstaticboolisValidateChinPhrase(stringstr)W Wi in nd do ow ws s应应用用程程序序开开发发教教程程(C C#版版)W Wi in nd do ow ws s应应用用程程序序开开发发教教程程(C C#版版)主要代码说明主要代码说明/验证是否是合法的Email地址publicstaticboolisValidateEmail(stringstr)stringpattern=w-+(.w-+)*w-+(.w-+)+$;/Email格式returnRegex.IsMatch(str,pattern);/检查是否为有效的正整数publicstaticboolisPositiveInteger(stringstr)boolflag=false;stringpattern=d+;if(Regex.IsMatch(str,pattern)任务1数据验证通用类的设计W Wi in nd do ow ws s应应用用程程序序开开发发教教程程(C C#版版)主要代码说明主要代码说明tryif(int.Parse(str)0)flag=true;catchreturnflag;/检查是否为最多保留2位小数的正实数publicstaticboolisPositiveRealNum(stringstr)任务1数据验证通用类的设计W Wi in nd do ow ws s应应用用程程序序开开发发教教程程(C C#版版)主要代码说明主要代码说明boolflag=false;stringpattern=d+(.d1,2)?;if(Regex.IsMatch(str,pattern)tryif(double.Parse(str)0)flag=true;任务1数据验证通用类的设计W Wi in nd do ow ws s应应用用程程序序开开发发教教程程(C C#版版)W Wi in nd do ow ws s应应用用程程序序开开发发教教程程(C C#版版)主要代码说明主要代码说明返回值,类型:boolean,如果正则表达式找到匹配项,则为true;否则,为false。2.一般情况下,需要将项目中重复使用的数据验证,集中设计到一个类(或类库)中,实现模块化和代码重用。3.比较精准的数据验证,需要进行正则表达式验证。任务1数据验证通用类的设计W Wi in nd do ow ws s应应用用程程序序开开发发教教程程(C C#版版)任务2主要界面的设计1.销售员资料管理界面的设计2.客户资料管理界面的设计3.商品资料管理界面设计4.供应商管理界面设计任务目标任务目标 1.主要的窗体控件2.用户界面设计的原则知识要点知识要点 W Wi in nd do ow ws s应应用用程程序序开开发发教教程程(C C#版版)W Wi in nd do ow ws s应应用用程程序序开开发发教教程程(C C#版版)任务2主要界面的设计图5-5-1商品资料管理界面W Wi in nd do ow ws s应应用用程程序序开开发发教教程程(C C#版版)W Wi in nd do ow ws s应应用用程程序序开开发发教教程程(C C#版版)主要代码说明主要代码说明elsetxtSuggestSalePrice.Text=string.Empty;2.事件过程:需要设置单元格内容的显示格式时发生privatevoiddgvProduct_CellFormatting(objectsender,DataGridViewCellFormattingEventArgse)switch(e.ColumnIndex)case5:任务2主要界面的设计W Wi in nd do ow ws s应应用用程程序序开开发发教教程程(C C#版版)主要代码说明主要代码说明case7:decimalvalue=(decimal)e.Value;if(value=0)e.Value=e.CellStyle.NullValue;e.FormattingApplied=true;break;。说明:1.CellFormatting事件:在单元格的内容需要设置格式以便于显示时发生。在本项目中的功能是将无效的数字在对应的单元格中显示为空。任务2主要界面的设计W Wi in nd do ow ws s应应用用程程序序开开发发教教程程(C C#版版)W Wi in nd do ow ws s应应用用程程序序开开发发教教程程(C C#版版)主要代码说明主要代码说明intcount=dgvProduct.SelectedRows.Count;if(count=0)lblmsg.Text=(请选择所要删除的行!);return;/将用户选中行的“销售人员编号”取出来,(用户按Ctrl键可以选择多行)for(inti=0;icount;i+)/依次取出选中的行的第一例的值(即ProductId的值)tip+=dgvProduct.SelectedRowsi.Cells0.Value.ToString().Trim()+,;/去掉最后一个“,”tip=tip.Substring(0,tip.Length-1);任务2主要窗体的设计W Wi in nd do ow ws s应应用用程程序序开开发发教教程程(C C#版版)任务2主要窗体的设计主要代码说明主要代码说明/弹出小窗口,提示用户确认删除if(MessageBox.Show(您确定要删除商品编号为:+tip+的信息吗?,提示信息,MessageBoxButtons.OKCancel)=DialogResult.Cancel)/用户取消删除,则返回。return;/保存在删除中出现错误的销售员编号StringBuildererrorID=newStringBuilder();/通过循环,依次删除选中的记录for(inti=0;icount;i+)tip=dgvProduct.SelectedRowsi.Cells0.Value.ToString();boolflag=ProductService.delete(tip);W Wi in nd do ow ws s应应用用程程序序开开发发教教程程(C C#版版)任务2主要窗体的设计主要代码说明主要代码说明if(!flag)/如果删除失败,则将该记录的商品编号添加到errorID中errorID.Append(tip.Trim()+);/如果全部删除成功if(errorID.Length=0)lblmsg.Text=删除成功;else/如果有删除失败的lblmsg.Text=销售员编号:+errorID.ToString()+的记录未被删除;bindData();W Wi in nd do ow ws s应应用用程程序序开开发发教教程程(C C#版版)任务2主要窗体的设计主要代码说明主要代码说明说明:1.这部分代码是删除按钮的单击事件过程,考虑到商品数据表Product中的每条记录都是独立的、互不联系的,因此即使批删除时,有的记录删除失败,也没有必要通过事务管理,实现事务的回滚。2.删除操作,应该在执行物理删除之前,为用户提供确认的机会儿。总之,资料管理模块,主要实现了简单的数据操作,其它模块不再一一讲解了。