清单 C
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
>
<head runat="server"><title>DetailsView Example</title></head>
<body>
<form id="frmDetailsViewExample" runat="server">
<asp:SqlDataSource ID="dsExample"
ConnectionString="Server=localhost;Database=Northwind;Trusted_Connection=true"
SelectCommand="SELECT EmployeeID,
LastName, FirstName, HomePhone, HireDate FROM
Employees" Runat="Server" UpdateCommand="UPDATE Employees SET LastName=@LastName, FirstName=@FirstName,HomePhone=@HomePhone, HireDate=@HireDate WHERE EmployeeID=@EmployeeID"?DeleteCommand="DELETE FROM Employees WHERE EmployeeID=@EmployeeID" InsertCommand="INSERT INTO Employees (LastName, FirstName, HomePhone,HireDate) VALUES (@LastName, @FirstName, @HomePhone, @HireDate) />
<asp:DetailsView ID="dvExample"
runat="server" Height="50px"
Width="125px" DataSourceID="dsExample? AllowPaging="true"
AutoGenerateDeleteButton="true" AutoGenerateInsertButton="true" AutoGenerateEditButton="true" AutoGenerateRows="false">
<Fields>
<asp:BoundFieldDataField="EmployeeID" HeaderText="ID:"
ReadOnly="true" />
<asp:BoundFieldDataField="LastName" HeaderText="Last
Name:" />
<asp:BoundFieldDataField="FirstName" HeaderText="First
Name:" />
<asp:BoundFieldDataField="HomePhone" HeaderText="Telephone:"
/><asp:BoundFieldDataField="HireDate" HeaderText="Date hired:" />
</Fields>
</asp:DetailsView>
</form></body></html>
AutoGenerateDeleteButton属性:该属性的数据类型是布尔值,指定是否显示删除按钮。关联数据连接的DeleteCommand属性用来执行选中记录的删除工作。
AutoGenerateInsertButton属性:该属性的数据类型是布尔值,指定是否显示插入按钮。关联数据连接的InsertCommand属性用来执行新记录的插入工作。
AutoGenerateEditButton属性:该属性的数据类型是布尔值,指定是否显示编辑按钮。选择这个按钮会把记录转入编辑模式,并且显示一个更新按钮,用来保存更改。关联数据连接的UpdateCommand属性用来保存对后端数据源所作的更改。
注意:EmployeeID字段不能编辑,因为它作为下层数据表(table)中的主关键字(primary key),其只读(ReadOnly)标记被设置成了“true”。
TemplateField类型的字段提供了更多对DetailsView数据控件中数据字段的控制方法。通过它,当数据被编辑、查看,或者添加新的数据时,你都可以控制这个字段的外观和行为。以下这些元素用来控制这些行为。
EditItemTemplate元素:当前DetailsView记录在编辑模式时控制这个字段的外观。
InsertItemTemplate元素:当有新记录添加到下层数据源时,确定这个字段将如何显示。
ItemTemplate元素:在用户查看时确定字段该如何显示。
清单 D使用了TemplateField类型的字段,目的是显示职工的雇佣数据。当某个数据被编辑,或者有新记录要添加时,会有一个日历控件出现,方便用户输入日期类型的数据。日期值在查看模式下则以简单的标签控件方式显示。