使用ASP.NET 2.0 GridView轻松操作数据

时间:2008-10-07 12:23:20  来源:第二电脑网上收集  作者:第二电脑网

  第二电脑网导读:p>让人感激不尽的是,GridView控件让我们使用这些特性时感到轻而易举。在我们深入这些主题之前,我要首先来检查一下,看看GridView控件可以支持哪几类不同的字段控件类别(field type)。支持的字段类别GridView控件支持下列字段控件:BoundField控件:...
  正文:

在上星期,我介绍了ASP/ target=_blank class=infotextkey>asp.NET 2.0中的GridView(网格视图)数据控件,并阐述了使用它的基本方法。这一周,我将更进一步,就如何处理控件所包含的数据的操作细节作些探讨。这些操作包括查看、编辑,以及删除数据。

让人感激不尽的是,GridView控件让我们使用这些特性时感到轻而易举。在我们深入这些主题之前,我要首先来检查一下,看看GridView控件可以支持哪几类不同的字段控件类别(field type)。

支持的字段类别

GridView控件支持下列字段控件:

  • BoundField控件:以字符串的方式显示该字段数据。
  • ButtonField控件:显示一个用户定义的按钮。
  • CheckField控件:字段值如果是布尔值,显示复选框(checkbox)。
  • CommandField控件:自动产生一个命令按钮,如编辑(Edit)、更新(Update),以及取消(Cancel)按钮。
  • HyperLinkField控件:把字段值显示为超级链接(hyperlink)。
  • ImageField控件:当字段值指向某图片时,则自动显示该图片。
  • TemplateField控件:允许用户使用模板定制其他控件的外观。

使用这些类型的控件字段,你可以掌控它们的外观,并且对于这些和GridView控件绑定的数据以及其它元素,你能够获得一种良好体验。第三页所示的GridView控件,显示了由BoundField元素附属的查询方法得到的数据。

如果你要显示的控件字段是图片、按钮,或者超级链接,那么可以使用相应的字段类别,不过,TemplateField类别让你可以自定义字段的外观。它的语法实现如下:

<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的模板字段的人,这种方法并不新奇。第四页是通过TemplateField显示数据的一个可能用法的示例。字段的格式制定和显示方法有各种选项可选,很容易做到满足用户的不同要求。

数据的编辑

除了让用户可以查看和筛选数据外,另一个普遍的需求便是编辑数据。GridView数据控件使这变得简单,方法是利用它的AutoGenerateEditButton属性和关联的数据库连接的UpdateCommand属性。

当/如果用户编辑并保存数据时,sqlDataSource元素将提供UpdateCommand属性来定义所用的SQL。这需要通过DataSourceID属性(定位到sqlDataSource)来绑定到GridView控件的编辑功能。同时,sqlDataSource元素的DataKeyNames属性用于指定GridView内数据行的主键和键值数组。第五页是使用这种方法编辑和更新GridView数据的示例。

数据的删除

和编辑功能一样,GridView控件也简化了用户从GridView控件中删除单个数据行的操作。同样,为了控制删除的执行,这里需要sqlDataSource控件和DeleteCommand属性互相配合。

GridView控件的AutoGenerateDeleteButton属性通知系统生成一个删除按钮(其值为真时),或者不生成按钮(其值为假时)。当用户选中删除按钮时,所选中行数据的值将被送到sqlDataSource的DeleteCommand属性定义的SQL命令语句中执行。第六页把删除功能引入进来,对上面的例子作了扩展。

易于使用的特性

ASP.NET 1.x的DataGrid控件功能强大,但具体实施却颇费时间。ASP.NET 2.0的功能性和可扩展性同样强大,但复杂度却大大下降。你只要把它和新的sqlDataSource控件组合一起,就可以马上获得这些强大特性。你不需要编写C#或者vb.NET代码就可以实现数据的访问。

你是不是已经更新换代,使用最新版的.NET Framework了呢?如果是,分享一下你使用的体会;如果还没有,就请说说没有更换的原因。


Tony Patton作为应用程序开发员,有着JavaVBLotus,以及XML的各项认证。

<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" />
<asp:SqlDataSource ID="gvExample"
ConnectionString="Server=localhost;Database=Northwind;Trusted_Connection=true"
SelectCommand="SELECT EmployeeID, LastName, FirstName FROM Employees" Runat="Server">
<Columns>
<ItemTemplate HeaderText="Employee#v>
<asp:Label Runat="Server"
ForeColor="Red" Font-Bold="True" Text='<%# Eval("EmployeeID") %>'/>
</ItemTemplate>
<asp:BoundField DataField="LastName" NullDisplayText="--" />
<asp:BoundField DataField="FirstName" NullDisplayText="---" />
</Columns>
</asp:GridView>
</form></body></html>
<html><head runat="server">
<title>GridView Edit</title>
</head><body>
<form id="frmGridViewEditExample" runat="server">
<asp:GridView DataSourceID="gvExample"
AutoGenerateEditButton="true" Runat="Server"
AllowSorting="True" AllowPaging="True"
PageSize="10" AutoGenerateColumns="False"
BackColor="#c0c0c0" BorderColor="black"
BorderStyle="Groove" BorderWidth="5"
Caption="GridView Edit Example" />
<asp:SqlDataSource ID="gvExample"
ConnectionString="Server=localhost;Database=Northwind;Trusted_Connection=true"
SelectCommand="SELECT EmployeeID, LastName, FirstName FROM Employees"
UpdateCommand="UPDATE Employees SET LastName=@LastName, FirstName=@FirstName WHERE EmployeeID=@EmployeeID" Runat="Server">
<Columns>
<asp:BoundField DataField="EmployeeID" NullDisplayText="unknown" ReadOnly="True" />
<asp:BoundField DataField="LastName" NullDisplayText="unknown" />
<asp:BoundField DataField="FirstName" NullDisplayText="unknown" />
</Columns>
</asp:GridView>
</form></body></html>
<html><head runat="server">
<title>GridView Delete</title>
</head><body>
<form id="frmGridViewDeleteExample" runat="server">
<asp:GridView DataSourceID="gvExample"
AutoGenerateEditButton="true"
AutoGenerateDeleteButton="true"
Runat="Server" AllowSorting="True"
AllowPaging="True" PageSize="10"
AutoGenerateColumns="False" BackColor="#c0c0c0"
BorderColor="black" BorderStyle="Groove"
BorderWidth="5" Caption="GridView Delete Example" />
<asp:SqlDataSource ID="gvExample"
ConnectionString=”Server=localhost;Database=Northwind;Trusted_Connection=true”
SelectCommand=”SELECT EmployeeID, LastName, FirstName FROM Employees”
UpdateCommand=”UPDATE Employees SET LastName=@LastName, FirstName=@FirstName WHERE EmployeeID=@EmployeeID"
DeleteCommand=”DELETE Employees WHERE EmployeeID=@EmployeeID” Runat="Server">
<Columns>
<asp:BoundField DataField="EmployeeID" NullDisplayText="unknown" ReadOnly="True" />
<asp:BoundField DataField="LastName" NullDisplayText="unknown" />
<asp:BoundFieldDataField="FirstName" NullDisplayText="unknown" />
</Columns>
</asp:GridView>
</form></body></html>

学习电脑 "使用ASP.NET 2.0 GridView轻松操作数据"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/ASP/2008-10-07/3498.html


关键字:

关于《使用ASP.NET 2.0 GridView轻松操作数据》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td