欢迎来到天天文库
浏览记录
ID:40485616
大小:2.02 MB
页数:17页
时间:2019-08-03
《20-定制数据修改界面》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、摘要:本文主要介绍如何对GridView的编辑界面进行定制,使GridView在编辑时具有DropDownList和RadioButtonList控件,提供更人性化的界面。目录简介一、重载UpdateProduct方法二、手工处理可编辑的GridView三、在编辑界面中使用DropDownList显示Category和Supplier四、用RadioButton表示Discontinued状态小结简介GridView和DetailsView控件通过绑定列和CheckBox列,可以简化数据编辑界面制作,呈现只
2、读,编辑和新增界面,我们不需要增加元素标记或编写任何额外代码就可以得到这些界面。然而,绑定列和CheckBox列呈现的界面却缺乏实际应用中经常用到的定制功能。为了对GridView和DetailsView的编辑、新增界面进行定制,需要用模板列(TemplateField)替换原有列。在上节教程中我们讨论如何增加验证控件来定制数据编辑界面,而本节教程将演示如何使用Web控件对实际的数据集合进行定制:将绑定列和CheckBox列中默认的TextBox、CheckBox控件替换成其他的输入控件。为此,我们将创建一
3、个可编辑的GridView,并允许编辑更新产品的名字、类别、提供商和废弃状态等。而且编辑某行时,类别category和提供商supplier我们将使用DropDownList来显示,以供用户进行选择。此外,还将CheckBox列中默认的CheckBox控件替换成RadioButtonList控件,并提供2个单选选项:Active和Discontinued。如图1:17图1:在GridView的编辑界面使用DropDownList和RadioButton控件一、重载UpdateProduct方法本节教程我们将
4、创建一个可编辑的GridView并允许编辑更新产品的名字、类别、提供商和废弃状态等。因此,我们要重载UpdateProduct方法,并接受5个输入参数:4个产品参数值加上一个产品ID。像以前那样,本重载将:1.根据指定的ProductID从数据库中获取产品信息;2.更新ProductName,categoryID,supplierID和Discontinued字段;3.通过TableAdapter的Update()方法向数据访问层DAL发出更新请求。简单起见,这个重载方法省略了一个重要的业务逻辑――检查并确
5、保一个将会标记为discontinued的产品不是它的提供商提供的唯一产品。你愿意的话也可以加进来,或者做的更完善一些,将这个逻辑写到一个独立的方法中。下面的代码是我们在ProductsBLL类中新增的UpdateProduct重载方法:[System.ComponentModel.DataObjectMethodAttribute (System.ComponentModel.DataObjectMethodType.Update,false)]publicboolUpdateProduct(stri
6、ngproductName,int?categoryID, int?supplierID,booldiscontinued,intproductID){17 Northwind.ProductsDataTableproducts=Adapter.GetProductByProductID(productID); if(products.Count==0) //nomatchingrecordfound,returnfalse returnfalse; Northwin
7、d.ProductsRowproduct=products[0]; product.ProductName=productName; if(supplierID==null)product.SetSupplierIDNull(); elseproduct.SupplierID=supplierID.Value; if(categoryID==null)product.SetCategoryIDNull(); elseproduct.CategoryID=categoryID.Va
8、lue; product.Discontinued=discontinued; //Updatetheproductrecord introwsAffected=Adapter.Update(product); //Returntrueifpreciselyonerowwasupdated,otherwisefalse returnrowsAffected==1;} 二、手工处理可编辑的Gri
此文档下载收益归作者所有