[ 来源:www.it55.com | 作者: | 时间:2007-07-15 | 收藏 | 推荐 ] 【大 中 小】
在上星期,我介绍了ASP.NET 2.0中的GridView(网格视图)数据控件,并阐述了使用它的基本方法。这一周,我将更进一步,就如何处理控件所包含的数据的操作细节作些探讨。这些操作包括查看、编辑,以及删除数据。 http://www.it55.com/
让人感激不尽的是,GridView控件让我们使用这些特性时感到轻而易举。在我们深入这些主题之前,我要首先来检查一下,看看GridView控件可以支持哪几类不同的字段控件类别(field type)。
支持的字段类别
it55.com
GridView控件支持下列字段控件: sflj www.it55.com kg^&fgd
BoundField控件:以字符串的方式显示该字段数据。
ButtonField控件:显示一个用户定义的按钮。
CheckField控件:字段值如果是布尔值,显示复选框(checkbox)。
CommandField控件:自动产生一个命令按钮,如编辑(Edit)、更新(Update),以及取消(Cancel)按钮。
HyperLinkField控件:把字段值显示为超级链接(hyperlink)。
ImageField控件:当字段值指向某图片时,则自动显示该图片。
TemplateField控件:允许用户使用模板定制其他控件的外观。
使用这些类型的控件字段,你可以掌控它们的外观,并且对于这些和GridView控件绑定的数据以及其它元素,你能够获得一种良好体验。列表 A所示的GridView控件,显示了由BoundField元素附属的查询方法得到的数据。
如果你要显示的控件字段是图片、按钮,或者超级链接,那么可以使用相应的字段类别,不过,TemplateField类别让你可以自定义字段的外观。它的语法实现如下: http://www.it55.com/
<asp:TemplateField
HeaderStyle-property="value"
ItemStyle-property="value"
FooterStyle-property="value">
<HeaderTemplate>
HTML, text or server controls
</HeaderTemplate>
<ItemTemplate>
HTML, text or server controls
</ItemTemplate>
<AlternatingItemTemplate>
HTML, text or server controls
</AlternatingItemTemplate>
<FooterTemplate>
HTML, text or server controls
</FooterTemplate>
</asp:TemplateField>
对于那些以前使用过ASP.NET 1.x的模板字段的人,这种方法并不新奇。列表 B是通过TemplateField显示数据的一个可能用法的示例。字段的格式制定和显示方法有各种选项可选,很容易做到满足用户的不同要求。
www.it55.com在线教程
数据的编辑
www.it55.com在线教程
除了让用户可以查看和筛选数据外,另一个普遍的需求便是编辑数据。GridView数据控件使这变得简单,方法是利用它的AutoGenerateEditButton属性和关联的数据库连接的UpdateCommand属性。 IT资讯之家 www.it55.com
当/如果用户编辑并保存数据时,sqlDataSource元素将提供UpdateCommand属性来定义所用的SQL。这需要通过DataSourceID属性(定位到sqlDataSource)来绑定到GridView控件的编辑功能。同时,sqlDataSource元素的DataKeyNames属性用于指定GridView内数据行的主键和键值数组。列表 C是使用这种方法编辑和更新GridView数据的示例。
vd;k;l www.it55.com rdfg
数据的删除
和编辑功能一样,GridView控件也简化了用户从GridView控件中删除单个数据行的操作。同样,为了控制删除的执行,这里需要sqlDataSource控件和DeleteCommand属性互相配合。 www.it55.com在线教程
GridView控件的AutoGenerateDeleteButton属性通知系统生成一个删除按钮(其值为真时),或者不生成按钮(其值为假时)。当用户选中删除按钮时,所选中行数据的值将被送到sqlDataSource的DeleteCommand属性定义的SQL命令语句中执行。列表 D把删除功能引入进来,对上面的例子作了扩展。 it55.com
易于使用的特性 www.it55.com
ASP.NET 1.x的DataGrid控件功能强大,但具体实施却颇费时间。ASP.NET 2.0的功能性和可扩展性同样强大,但复杂度却大大下降。你只要把它和新的sqlDataSource控件组合一起,就可以马上获得这些强大特性。你不需要编写C#或者VB.NET代码就可以实现数据的访问。 sflj www.it55.com kg^&fgd
你是不是已经更新换代,使用最新版的.NET Framework了呢?如果是,分享一下你使用的体会;如果还没有,就请说说没有更换的原因。 www.it55.com
--------------------------------------------------------------------------------
www.it55.com在线教程
Tony Patton作为应用程序开发员,有着Java、VB、Lotus,以及XML的各项认证。
责任编辑:德东
it55.com
<html><head runat="server">
<title>Display GridView</title>
</head><body>
<form id="frmGridViewExample2" runat="server">
<asp:GridView DataSourceID="gvExample" Runat="Server" AllowSorting="True" AllowPaging="True" PageSize="10"AutoGenerateColumns="False" BackColor="#c0c0c0" BorderColor="black"BorderStyle="Groove" BorderWidth="5" Caption="GridView Example" />
<asp:SqlDataSource ID="gvExample"
ConnectionString="Server=localhost;Database=Northwind;Trusted_Connection=true" SelectCommand="SELECT EmployeeID, LastName, FirstName FROM Employees" Runat="Server">
<Columns>
<asp:BoundField DataField="EmployeeID" NullDisplayText="---" ReadOnly="True" />
<asp:BoundField DataField="LastName" NullDisplayText="--" />
<asp:BoundField DataField="FirstName" NullDisplayText="---" />
</Columns>
</asp:GridView>
</form></body></html>
<html><head runat="server">
<title>Display GridView</title>
</head><body>
<form id="frmGridViewExample2" runat="server">
<asp:GridView DataSourceID="gvExample" Runat="Server" AllowSorting="True" AllowPaging="True" PageSize="10"AutoGenerateColumns="False" BackColor="#c0c0c0" BorderColor="black"BorderStyle="Groove" BorderWidth="5" Caption="GridView Example" />
(编辑:IT资讯之家 www.it55.com)