ASP.NET 2.0数据教程之五十一:为GridView控件添加Radio Buttons列

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

第51到53章为优化GridView系列

导言:

GridView控件提供了大 量的内置功能。它包含了一系列的域(field)来显示诸如text、images、 hyperlinks和buttons。另外它支持模板(template)用于用户自定义界面。我们 可以构建这样一个GridView控件,用户仅需要点击控件里的一个按钮,每一条记 录行都可以选择、编辑、删除。除了控件本身内置的功能外,在某些情况下,我 们添加一些额外的、控件没有内置的功能。在本章及接下来的2篇教程里我们将探 讨如何优化GridView,以支持额外的功能。

本篇及接下来的教程将主要探 讨优化行选择程序(row-selection process),就像在教程《使用 GridView 和 DetailView实现的主/从报表》里考察的一样,我们在GridView控件里添加一个包 含选择按钮的命令域(CommandField),点击该按钮后产生回传(postback), 所选行的index值传给GridView控件的SelectedIndex属性。在那篇教程里我们看 到了如何使用该功能显示所选行的详细信息。

除了Select button,我们 经常在用户界面包含radio button和checkbox用于选择记录。在某些情况下我们 可以对GridView扩充,在每条记录里用radio button或checkbox替换掉Select button。比如,我们只希望选择GridView记录中的一条时,用radio button比用 Select button好;再比如,当用户要选择多条记录时——就像在邮箱 里同时删除几份邮件一样,用checkbox是最好的。本教程先考察为GridView添加 radio buttons,再考察添加checkboxes。

第一步:创建优化GridView的 Web页面

在开始之前让我们在网站项目里创建一个本节及后面2节要用到的 ASP.NET页面。新建一个名为EnhancedGridView的文件夹,然后,添加如下所示的 页面,确保使用Site.master母版。

Default.aspx

RadioButtonField.aspx

CheckBoxField.asp x

InsertThroughFooter.aspx


图1:添加相关页面

像其它文件夹一样,Default.aspx页面将显 示本节的所有教程。记得用户控件SectionLevelTutorialListing.ascx提供该功 能,从解决方案管理器里将其拖到Default.aspx页面上。


图2:添加用户控件SectionLevelTutorialListing.ascx

时间: 2024-08-23 11:26:53

ASP.NET 2.0数据教程之五十一:为GridView控件添加Radio Buttons列的相关文章

ASP.NET 2.0数据教程之五十二:为GridView控件添加Checkboxes列

返回"ASP.NET 2.0数据教程目录" 导言: 在前面的教程里我们探讨了如何为GridView控件添加radio buttons列.当用户最多只能选择一项数据时,我们可以在用户界面里添加radio buttons列,而有时候,我们需要选择任意多项数据.比如,基于Web的邮箱客户 端列出了一系列的邮件,及一列checkboxes,用户可选择任意封邮件并执行相同 的操作,比如移动到另一个文件夹或将之删除. 在本教程,我们将探讨如 何添加checkboxes列,以及发生页面回传后如何确定

ASP.NET 2.0数据教程之十一:基于数据的自定义格式化

本系列文章导航 ASP.NET 2.0数据教程之一:创建一个数据访问层 ASP.NET 2.0数据教程之二:创建一个业务逻辑层 ASP.NET 2.0数据教程之三:母板页和站点导航 ASP.NET 2.0数据教程之四:使用ObjectDataSource展现数据 ASP.NET 2.0数据教程之五:声明参数 ASP.NET 2.0数据教程之六:编程设置ObjectDataSource的参数值 ASP.NET 2.0数据教程之七:使用DropDownList过滤的主/从报表 ASP.NET 2.0

ASP.NET 2.0数据教程之七十一:处理Computed Columns列

返回"ASP.NET 2.0数据教程目录" 导言: Microsoft SQL Server里有一种computed columns列.这种列的 值是通过一个表达式来计算,而表达式引用的是同一张表的其它列的值.打个比方 ,有一张ServiceLog表,其包含了ServicePerformed, EmployeeID, Rate, Duration等列. 虽然我们可以在一个web页面或其它什么界面里计算每笔服务的费 用(也就是 比率 rate乘以时间段duration),不过我们也可以手

ASP.NET 2.0数据教程之六十一:使用SQL Cache Dependencies

返回"ASP.NET 2.0数据教程目录" 导言: 在58和59章探讨的缓存技术使用的是基于时间的缓存周期,当 过了某段时间后便将缓存数据从内存清除.当设置缓存时间为x秒时,数据在x秒 内都是"新"的.当然,就像在60章谈到的那样,对静态数据来说,x 可延伸到web应用程序的整个生命周期(lifetime). 当缓存数据时,基于 时间周期的技术因为其易用性而常常被采用,不过又常常不那么完美.理想的状 态是这样的:数据库数据还是应缓存在内存,直到源数据(underly

ASP.NET 2.0数据教程之五十九:体系分层缓存数据

返回"ASP.NET 2.0数据教程目录" 导言: 正如前面章节所言,缓存ObjectDataSource的数据只需要简单的设 置一些属性.然而,它是在表现层对数据缓存,这就与ASP.NET page页面缓存策 略(caching policies)紧密的耦合(tightly couples)起来.我们对体系机构分层 的原因之一便是打破这种耦合.拿业务逻辑层为例,将业务逻辑从ASP.NET页面脱 离出来:而数据访问层将数据访问的细节ASP.NET页面脱离出来.从某种意义来说 ,将业务逻

ASP.NET 2.0数据教程之五十八:用ObjectDataSource缓存数据

返回"ASP.NET 2.0数据教程目录" 导言 就计算机科学而言,caching就是将所需要的数据或信息的备份放 在某个地方,便于快速访问的这样一个过程.以数据处理(data-driven)程序为 例,程序的大部分时间浪费在数据查询上.要提升这种程序的性能,通常的做法 是将查询结果存放在程序的存储器里. ASP.NET 2.0提供了各种各样的缓 存方式.对web页面和用户控件可以通过output caching进行缓存:同样我们可以 通过ObjectDataSource 和SqlDa

ASP.NET 2.0数据教程之五十七:编辑和删除现有的二进制数据

返回"ASP.NET 2.0数据教程目录" 导言: 在前面的3章里我们为处理二进制数据添加了很多的功能.我们 首先在表Categories里添加BrochurePath列,并更新了体系结构.同样,为了处 理表Categorie里现有的Picture列,我们在数据访问层和业务逻辑层里增加了相 应的方法.同时我们创建一个页面,在GridView控件里显示二进制数据 --包含一个指向说明小册子的下载链接,并将每个类的图片显示在 <img>元素里.同时我们添加一个DetailsVi

ASP.NET 2.0数据教程之五十六:添加新记录时包含一个文件上传选项

返回"ASP.NET 2.0数据教程目录" 导言: 在前面2节教程,我们探讨了如何使用FileUpload控件从客户端 向服务器上传文件,以及如何在数据Web控件里显示二进制数据. 在本节 ,我们将创建一个web页面以添加新的种类.除了为类的name和description属性 添加TextBoxes控件外,我们还要在页面上添加2个FileUpload控件 --一个用来上传新类的图片,另一个用来上传类的小说明册子.上 传的图片将直接存储在新记录的Picture列.与此相反,小册子将存储

ASP.NET 2.0数据教程之五十四:上传文件

返回"ASP.NET 2.0数据教程目录" 导言: 到目前为止,我们的教程围绕的是text数据.然而,很多应用 程序既需要处理text数据,也需要处理二进制数据.比如招聘网站可能需要用户 上传Word或PDF格式的简历. 使用二进制数据面临一项挑战:在应用程序 中如何存储二进制数据.我们必须更新添加记录的界面以支持用户上传本地电脑 中的文件,并添加额外的功能以下载某条记录的相关二进制数据.本章以及接下 来的3章,我们探讨如何处理这些问题.在本系列教程结束时,我们将创建一个功 能完善的应