没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
全文可编辑 word 文档 页眉与背景水印可删除
1
在 ASP.NET 2.0 中操作数据之二十:定制数
据修改界面
简介
GridView 和 DetailsView 控 件 通 过 绑 定 列 和
CheckBox 列,可以简化数据编辑界面制作,呈现只读,编辑
和新增界面,我们不需要增加元素标记或编写任何额外代码
就可以得到这些界面。然而,绑定列和 CheckBox 列呈现的
界 面 却 缺 乏 实 际 应 用 中 经 常 用 到 的 定 制 功 能 。 为 了 对
GridView 和 DetailsView 的编辑、新增界面进行定制,需要
用模板列(TemplateField)替换原有列。
在上节教程中我们讨论如何增加验证控件来定制
数据编辑界面,而本节教程将演示如何使用 Web 控件对实际
的数据集合进行定制:将绑定列和 CheckBox 列中默认的
TextBox、CheckBox 控件替换成其他的输入控件。为此,我
们将创建一个可编辑的 GridView,并允许编辑更新产品的名
字、类别、提供商和废弃状态等。而且编辑某行时,类别
category 和提供商 supplier 我们将使用 DropDownList 来显
示,以供用户进行选择。此外,还将 CheckBox 列中默认的
CheckBox 控件替换成 RadioButtonList 控件,并提供 2 个单
选选项:Active 和 Discontinued。 如图 1:
全文可编辑 word 文档 页眉与背景水印可删除
2
图 1:在 GridView 的编辑界面使用 DropDownList 和
RadioButton 控件
一、重载 UpdateProduct 方法
本节教程我们将创建一个可编辑的 GridView 并允
许编辑更新产品的名字、类别、提供商和废弃状态等。因此,
我们要重载 UpdateProduct 方法,并接受 5 个输入参数:4
个产品参数值加上一个产品 ID。像以前那样,本重载将:
1. 根据指定的 ProductID 从数据库中获取产品信息;
2. 更 新 ProductName , categoryID , supplierID 和
Discontinued 字段;
3. 通过 TableAdapter 的 Update()方法向数据访问层 DAL 发
出更新请求。
简单起见,这个重载方法省略了一个重要的业务逻
全文可编辑 word 文档 页眉与背景水印可删除
3
辑――检查并确保一个将会标记为 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)
// no matching record found, return false
return false;
Northwind.ProductsRow product = products[0];
全文可编辑 word 文档 页眉与背景水印可删除
4
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;
// Update the product record
int rowsAffected = Adapter.Update(product);
// Return true if precisely one row was updated,
otherwise false
return rowsAffected == 1;
}
二、手工处理可编辑的 GridView
编写完 UpdateProduct 重载方法,下面要做的是创
建 可 编 辑 的 GridView : 在 设 计 器 窗 口 中 打 开
EditInsertDelete 文件夹中的 CustomizedUI.aspx 页,为其
增加一个 GridView 控件;接着通过 GridView 的智能标记创
建一个新的 ObjectDataSource,配置这个 ObjectDataSource
全文可编辑 word 文档 页眉与背景水印可删除
5
使用 ProductBLL 类的 GetProducts()方法来获取产品信息,
并让其使用上面创建的 UpdateProduct 重载方法来进行产品
的更新。在新增和删除标签上,从下拉列表中选择(None)。
图 2 : 配 置 ObjectDataSource 使 用 上 面 创 建 的
UpdateProduct 重载方法
像《data modification》教程中那样,Visual
Studio 创 建 了 ObjectDataSource 的 元 素 标 记 并 指 定
OldValuesParameterFormatString 属性为 original_{0}。
由于我们编写的方法不支持传入的原始的 ProductID 值,所
以业务逻辑层不会生效。因此,像上节教程中那样,我们需
要从元素标记中移除这些属性,或者设置这些属性。
改动后的 ObjectDataSource 元素标记将如下所示:
剩余27页未读,继续阅读
资源评论
mmoo_python
- 粉丝: 0
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 简单的Python示例,演示了如何使用TCP/IP协议进行基本的客户端和服务器通信
- 考试.sql
- keil2 + proteus + 8051.exe
- 1961ee27df03bd4595d28e24b00dde4e_744c805f7e4fb4d40fa3f695bfbab035_8(1).c
- mediapipe-0.9.0.1-cp37-cp37m-win-amd64.whl.zip
- windows注册表编辑工具
- mediapipe-0.9.0.1-cp37-cp37m-win-amd64.whl.zip
- 校园通行码预约管理系统20240522075502
- 车类型数据集6250张VOC+YOLO格式.zip
- The PyTorch implementation of STGCN.STGCN-main.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功