快速业务通道

ASP.NET 2.0数据操作教程之二十:定制数据修改界面

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21

返回“ASP.NET 2.0数据教程目录”

目录

简介

一、重载UpdateProduct方法

二、手工处理可 编辑的GridView

三、在编辑界面中使用DropDownList显示Category和 Supplier

四、用RadioButton表示Discontinued状态

小结

简介

GridView和DetailsView控件通过绑定列和CheckBox列,可以简化数 据编辑界面制作,呈现只读,编辑和新增界面,我们不需要增加元素标记或编写 任何额外代码就可以得到这些界面。然而,绑定列和CheckBox列呈现的界面却缺 乏实际应用中经常用到的定制功能。为了对GridView和DetailsView的编辑、新增 界面进行定制,需要用模板列(TemplateField)替换原有列。

在上节教 程中我们讨论如何增加验证控件来定制数据编辑界面,而本节教程将演示如何使 用Web控件对实际的数据集合进行定制:将绑定列和CheckBox列中默认的TextBox 、CheckBox控件替换成其他的输入控件。为此,我们将创建一个可编辑的 GridView,并允许编辑更新产品的名字、类别、提供商和废弃状态等。而且编辑 某行时,类别category和提供商supplier我们将使用DropDownList来显示,以供 用户进行选择。此外,还将CheckBox列中默认的CheckBox控件替换成 RadioButtonList控件,并提供2个单选选项:Active和Discontinued。 如图1:

ASP.NET 2.0数据操作教程之二十:定制数据修改界面

图1:在GridView的编辑界面使用DropDownList和RadioButton控件

一、重载UpdateProduct方法

本节教程我们将创建一个可编辑的 GridView并允许编辑更新产品的名字、类别、提供商和废弃状态等。因此,我们 要重载UpdateProduct方法,并接受5个输入参数:4个产品参数值加上一个产品ID 。像以前那样,本重载将:

1. 根据指定的ProductID从数据库中获取产品 信息;

2. 更新ProductName,categoryID,supplierID和Discontinued字 段;

3. 通过TableAdapter的Update()方法向数据访问层DAL发出更新请求 。

简单起见,这个重载方法省略了一个重要的业务逻辑――检查并确保一 个将会标记为discontinued的产品不是它的提供商提供的唯一产品。你愿意的话 也可以加进来,或者做的更完善一些,将这个逻辑写到一个独立的方法中。

下面的代码是我们在ProductsBLL类中新增的UpdateProduct重载方法:

[System.ComponentModel.DataObjectMethodAttribute (System.ComponentModel.DataObjectMethodType.Update, false)]
public bool UpdateProduct(string productName, int? categoryID, int? supplierID, bool discontinued, int productID)
{
Northwind.ProductsDataTable products = Adapter.GetProductByProductID (productID);
if (products.Count == 0)
// 如果没有匹配记录,返 回false
return false;
Northwind.ProductsRow product = products[0];
product.ProductName = productName;
if (supplierID == null) product.SetSupplierIDNull(); else product.SupplierID = supplierID.Value;
if (categoryID == null) product.SetCategoryIDNull(); else product.CategoryID = categoryID.Value;
product.Discontinued = discontinued;
// 更 新产品记录
int rowsAffected = Adapter.Update(product);
// 成 功更新后返回true,否则返回false
return rowsAffected == 1;
}
二、手工处理可编辑的GridView

编写完UpdateProduct重载方法, 下面要做的是创建可编辑的GridView:在设计器窗口中打开EditInsertDelete 文 件夹中的CustomizedUI.aspx页,为其增加一个GridView控件;接着通过GridView 的智能标记创建一个新的ObjectDataSource,配置这个ObjectDataSource使用 ProductBLL类的GetProducts()方法来获取产品信息,并让其使用上面创建的 UpdateProduct重载方法来进行产品的更新。在新增和删除标签上,从下拉列表中 选择(None)。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号