上一篇:创建ASP.NET数据存储层(7) >>
ASP.NET Datagrid创建自定义列(1)
简介
不得不承认,为 Microsoft? ASP.net 编写 DataGrid 代码包括大量的重复工作。尽管我深受该控件的困扰,但我还是不断寻找简化这类任务的捷径。谁都不愿意做重复的工作,对不对?为了摆脱这种烦人的工作,我们要将多个项目中的重复代码封装到一个可重复使用的程序包中。这才是面向对象的编程工作所要解决的问题,使用 Datagrid 也不例外。对于 Datagrid 控件来说,要实现该目的,需要将常用的代码放到一个内置的列类型中(将在第一个示例中使用),然后创建一个可以在多个 Datagrid 对象中重复使用的自定义列类型。
本文介绍使用标准 TemplateColumn 在一个 Datagrid 列中使用 DropDownList 控件的过程,然后将该逻辑转换为您的自定义 Datagrid 列类型,我称其为 DropDownColumn。已经为您创建了一些免费的 Datagrid 列,您可以到 MetaBuilders.com 下载所需的类型。
重复使用的情况
如果您的小组与许多组织一样,已经将业务逻辑和/或数据访问逻辑分成单独的组件或组件集,而剩下的 ASP.NET 文件、ASPX 及其代码只包含纯粹的表示逻辑。(“纯粹”是一个相对的词语。)但是,即使是表示层的逻辑有时也会重复使用,这样,下次某个用户来到您门前说,“我想让我的应用程序在‘财务’方面看起来与苏茜的一样”时,您可以重复使用“财务”应用程序的部分表示内容快速为其构建一个这样的应用程序。您可能还想将一些逻辑打包,在 Web 上销售或在您的 Web 站点分发。ASP.NET 使这一切比以往更容易实现,因为它使您可以创建自己的服务器控件,或从现有的类型导出列类型,从而获得所需的功能。
DropDownList 方案
假设您正在本地 Microsoft SQL Server? 中编辑 Northwind 数据库(或做其他工作),您想使您的用户(我们称之为 Ed,仓库保管员)可以编辑 Orders 表。其中一个字段包含运输信息 (ShipVia),Ed 要能够修改该字段的信息。在显示模式下,运输公司应显示为纯文本。当 Ed 单击 Edit(编辑)按钮时,您不光要为他提供一个 TextBox 以编辑运输方式代码(1、2 或 3),还要为他提供一个包含可以选择不同运输公司的 DropDownList。(因为 Ed 记不住哪个运输公司对应哪个号码,所以,DropDownList 方案可以帮助他解决这个问题。)
图 1:选择运输公司
下一篇:ASP.NET Datagrid创建自定义列(2) >>
相关文章:
- · ASP.NET中设计带事件定制控件(1)
- · ASP.NET中设计带事件定制控件(2)
- · 在ASP.NET中实现会话状态基础(1)
- · 在ASP.NET中实现会话状态基础(2)
- · 在ASP.NET中实现会话状态基础(3)
- · 在ASP.NET中实现会话状态基础(4)
- · Asp.net入门之吸星大法
- · 在ASP.NET 2.0中实现本地化(1)
- · 在ASP.NET 2.0中实现本地化(2)
- · WebMatrix开发ASP.NET试用手记(1)
- · WebMatrix开发ASP.NET试用手记(2)
- · WebMatrix开发ASP.NET试用手记(3)
- · 表单填写时用回车代替TAB的实现方式
- · ASP使用MYSQL数据库全攻略
- · 友情连接浏览器
- · 方便购买的电子商务站点设计技巧
- · 使用ActiveX控件开发网页常见的问题
- · 基于ACCESS数据库的纯asp论坛制作心得
- · 关于打印页面的一些经验
- · vbscript和javascript互相调用
- · 使用索引服务器 - 增加属性
- · 使用索引服务器 - 创建ASP页面
- · 使用索引服务器- 使用索引服务器的对象
- · 已调试好的asp程序在VB中转换为组件的技巧
- · ASP.NET HTTP运行时组成详解(1)
- · 实现类似Windows资源管理器的DataGrid(2)
- · ASP.NET HTTP运行时组成详解(2)
- · ASP.NET HTTP运行时组成详解(3)
- · ASP.NET HTTP运行时组成详解(4)
- · ASP.NET HTTP运行时组成详解(5)
- · ASP.NET中使用TreeView控件(1)
- · ASP.NET中使用TreeView控件(3)
- · ASP.NET中使用TreeView控件(2)
- · ASP.NET中使用TreeView控件(4)
- · ASP.NET服务器控件发送脚本(1)
- · ASP.NET服务器控件发送脚本(2)
- · ASP.NET服务器控件发送脚本(3)
- · ASP.NET服务器控件发送脚本(4)
