小实例:模拟电话簿

这两天,做一个模拟的电话簿(某IT经理给我的作业),包括2张表,一个是分组表tb_Group(GroupID, GroupName),一个是联系人表tb_Person(PersonName,GroupID,CellPhone,Remark),实现联系人的增删改查,看似很简单的东西,也学到了挺多东西。按照要求,把添加,查找和编辑的功能,放在了不同的页面:(其实,我认为完全没有必要分为这么多页面,每个页面都有字段的输入框,可以复合利用嘛,但是,要求这样做,就这么做吧!)

1. 添加页面:对姓名,分组,手机号进行不为空的验证,对手机号进行格式验证,添加成功后,跳转到查找页面。

2. 查找页面:对姓名,手机号,备注进行组合模糊查找,分组查找,所有字段组合查找。对记录进行排序,和分页。对记录进行删除。点击编辑时,跳转到编辑页面,并把该行的值传递过去。

3. 编辑页面:和添加页面完全一样,只是数据是从查找页面反射过来的,同样对编辑后的数据进行验证。 保存编辑后,跳转到查找页面。

 

在过程中遇到的障碍:

1. 绑定分组的DropDownList的Items,页面载入时,怎样来显示为不选择,怎样对未选择分组进行验证。方法是在tb_Group中加入一条空记录(GroupID=1,GroupName为空),载入时显示该空记录,如果状态为选中该空记录,提示选择分组。验证控件为:

<asp:comparevalidator id="GroupNull" runat="server" Display="Dynamic" ControlToValidate="DdlGroup" Type="String" ValueToCompare="1" Operator="NotEqual" ErrorMessage="请选择分组" ></asp:comparevalidator>

2. 手机号码的验证:本来想把验证手机号格式和手机号不为空一起验证,用RegularExpressionValidator控件验证手机号格式,但是,没能同时验证不为空,只得又添加一个RequiredFieldValidator来验证不为空。

3. 点击GridView中的“编辑”时,把数据传递到编辑页面,但是不知道Group的值怎么传递过去。朋友给解决的:

查找页代码:

Find

编辑页代码:

Edit

 

4. 排序:即在Gridview的标题栏,点击某字段,按该字段的顺序和逆序排列。另外写篇日志吧!

 

程序主要代码:

Utility类:

Code

 

dropDownList的Items动态绑定:

    public DataTable SelectAll()
    {
        
string strSql = @"select * from tb_Group order by GroupId";
        DataTable dt 
= utility.ExcuteSql(strSql, "tb_Group");
        
return dt;
    }

 

Code

 

添加记录:

Code

 

Code

 

 

查找记录:

Code

 

 

Code

 

删除记录:

Code

 

Code

 

编辑记录:

点击编辑,跳转到编辑页面,并把该行的值传递过去。

Code

     编辑页面的代码:

Code

 

Code

 

 

posted @ 2009-10-27 08:27  牛小花  阅读(349)  评论(3编辑  收藏  举报