⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 editabledetailsview.aspx

📁 wrox出版社的另一套经典的VB2005数据库编程学习书籍,收集了书中源码,郑重推荐,电子书,电子书下载
💻 ASPX
字号:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="EditableDetailsView.aspx.vb" Inherits="EditableDetailsView" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<script runat="server">
	Sub ItemUpdated(ByVal sender As Object, ByVal e As DetailsViewUpdatedEventArgs)
		If e.Exception Is Nothing Then
			txtError.Visible = False
		Else
			txtError.Visible = True
			txtError.Text = "Error: " + Mid(e.Exception.Message, 1, e.Exception.Message.IndexOf("."))
			e.ExceptionHandled = True
		End If
	End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>ASP.NET 2.0 GridView and DetailsView Controls</title>
</head>
<body style="font-size: 12pt" bgcolor="#ffffff">
    <form id="frmDetails" runat="server">
    <div style="background-color: Gainsboro">
		 <div style="text-align: left">
			 <span style="font-size: 14pt; font-family: Arial; height: 25px ; width: 406px;"><b>&nbsp;Editable DetailsView and Linked GridView</b></span>&nbsp;&nbsp;
			 <asp:LinkButton ID="lbReadOnly" Font-Names="Arial" Font-Size="11pt" Runat="server"
				 PostBackUrl="~/Default.aspx" ToolTip="Click to display default read-only GridView page"
				 EnableViewState="False" Font-Bold="True">Read-Only GridView</asp:LinkButton>&nbsp;&nbsp;
			 <asp:LinkButton ID="lbEditable" Font-Names="Arial" Font-Size="11pt" Runat="server"
				 PostBackUrl="~/EditableGridView.aspx" ToolTip="Click to display editable GridView page"
				 Font-Bold="True">Editable GridView</asp:LinkButton>&nbsp;&nbsp;<asp:TextBox
					 ID="txtError" Runat="server" Height="18px" Width="718px" ForeColor="Red" Visible="False"></asp:TextBox>
			 <table style="width: 718px; height: 25px">
				 <tr>
					 <td valign="top" style="width: 275px; height: 21px">
						 <asp:DetailsView ID="dvOrders" Runat="server" Font-Size="10pt" DataKeyNames="OrderID"
							 DataSourceID="dsNWOrdersDetails" AutoGenerateRows="False" Font-Names="Verdana" AllowPaging="True" Width="287px" Height="313px" EmptyDataText="Missing" OnItemUpdated="ItemUpdated">
							 <PagerSettings NextPageText="Next" FirstPageText="First" LastPageText="Last" PreviousPageText="Previous"
								 Mode="NextPreviousFirstLast"></PagerSettings>
							 <Fields>
								 <asp:BoundField ReadOnly="True" HeaderText="Order ID" InsertVisible="False" DataField="OrderID"
									 SortExpression="OrderID"></asp:BoundField>
								 <asp:BoundField HeaderText="Customer ID" DataField="CustomerID" SortExpression="CustomerID"></asp:BoundField>
								 <asp:BoundField HeaderText="Employee ID" DataField="EmployeeID" SortExpression="EmployeeID"></asp:BoundField>
								 <asp:BoundField HeaderText="Order Date" DataField="OrderDate" SortExpression="OrderDate" DataFormatString="{0:d}" ApplyFormatInEditMode="True"></asp:BoundField>
								 <asp:BoundField HeaderText="Required Date" DataField="RequiredDate" SortExpression="RequiredDate" DataFormatString="{0:d}" ApplyFormatInEditMode="True"></asp:BoundField>
								 <asp:BoundField HeaderText="Shipped Date" DataField="ShippedDate" SortExpression="ShippedDate" NullDisplayText="Pending" DataFormatString="{0:d}" ApplyFormatInEditMode="True"></asp:BoundField>
								 <asp:BoundField HeaderText="Ship Via" DataField="ShipVia" SortExpression="ShipVia"></asp:BoundField>
								 <asp:BoundField HeaderText="Freight" DataField="Freight" SortExpression="Freight" DataFormatString="{0:c}"></asp:BoundField>
								 <asp:BoundField HeaderText="Ship Name" DataField="ShipName" SortExpression="ShipName"></asp:BoundField>
								 <asp:BoundField HeaderText="Ship Address" DataField="ShipAddress" SortExpression="ShipAddress"></asp:BoundField>
								 <asp:BoundField HeaderText="Ship City" DataField="ShipCity" SortExpression="ShipCity"></asp:BoundField>
								 <asp:BoundField HeaderText="Ship Region" DataField="ShipRegion" SortExpression="ShipRegion"></asp:BoundField>
								 <asp:BoundField HeaderText="Ship PostalCode" DataField="ShipPostalCode" SortExpression="ShipPostalCode"></asp:BoundField>
								 <asp:BoundField HeaderText="Ship Country" DataField="ShipCountry" SortExpression="ShipCountry"></asp:BoundField>
								 <asp:CommandField ShowInsertButton="True" ShowEditButton="True"></asp:CommandField>
							 </Fields>
						 </asp:DetailsView>
					 </td>
					 <td valign="top" style="width: 320px; height: 21px">
						 <asp:GridView ID="gvOrderDetails" Runat="server" DataSourceID="dsNWOrderDetailsFiltered"
							 DataKeyNames="OrderID,ProductID" AutoGenerateColumns="False" Font-Names="Verdana" Font-Size="10pt" CaptionAlign="Left" >
							 <Columns>
								 <asp:CommandField ShowEditButton="True"></asp:CommandField>
								 <asp:BoundField ReadOnly="True" HeaderText="Order ID" DataField="OrderID" SortExpression="OrderID"></asp:BoundField>
								 <asp:BoundField HeaderText="Product ID" DataField="ProductID" SortExpression="ProductID"></asp:BoundField>
								 <asp:BoundField HeaderText="Unit Price" DataField="UnitPrice" SortExpression="UnitPrice" DataFormatString="{0:c}"></asp:BoundField>
								 <asp:BoundField HeaderText="Quan." DataField="Quantity" SortExpression="Quantity"></asp:BoundField>
								 <asp:BoundField HeaderText="Disc." DataField="Discount" SortExpression="Discount" DataFormatString="{0:p1}">
									 <ItemStyle Wrap="False"></ItemStyle>
								 </asp:BoundField>
							 </Columns>
						 </asp:GridView><br />
						 <asp:DetailsView ID="dvOrderDetails" Runat="server" Font-Size="10pt" Font-Names="Verdana"
							 Width="255px" Height="142px" AllowPaging="True" AutoGenerateRows="False" DataSourceID="dsNWOrderDetailsView"
							 DataKeyNames="OrderID,ProductID">
							 <Fields>
								 <asp:BoundField ReadOnly="True" HeaderText="Order ID" DataField="OrderID" NullDisplayText="Generated"
									 SortExpression="OrderID"></asp:BoundField>
								 <asp:BoundField HeaderText="Product ID" DataField="ProductID" SortExpression="ProductID"></asp:BoundField>
								 <asp:BoundField HeaderText="Unit Price" DataField="UnitPrice" SortExpression="UnitPrice"
									 DataFormatString="{0:c}"></asp:BoundField>
								 <asp:BoundField HeaderText="Quantity" DataField="Quantity" SortExpression="Quantity"></asp:BoundField>
								 <asp:BoundField HeaderText="Discount" DataField="Discount" SortExpression="Discount"
									 DataFormatString="{0:p1}"></asp:BoundField>
								 <asp:CommandField ShowDeleteButton="True" ShowInsertButton="True" ShowEditButton="True"></asp:CommandField>
							 </Fields>
						 </asp:DetailsView>
						 <!-- See modified UpdateCommand below
						 Original: UpdateCommand="UPDATE [Order Details] SET [UnitPrice] = @UnitPrice, [Quantity] = @Quantity, [Discount] = @Discount WHERE [OrderID] = @original_OrderID AND [ProductID] = @original_ProductID"> -->
						 <asp:SqlDataSource ID="dsNWOrderDetailsView" Runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
							 SelectCommand="SELECT [OrderID], [ProductID], [UnitPrice], [Quantity], [Discount] FROM [Order Details] WHERE ([OrderID] = @OrderID)" DeleteCommand="DELETE FROM [Order Details] WHERE [OrderID] = @original_OrderID AND [ProductID] = @original_ProductID"
							 InsertCommand="INSERT INTO [Order Details] ([OrderID], [ProductID], [UnitPrice], [Quantity], [Discount]) VALUES (@OrderID, @ProductID, @UnitPrice, @Quantity, @Discount)"
							 UpdateCommand="UPDATE [Order Details] SET [UnitPrice] = @UnitPrice, [Quantity] = @Quantity, [Discount] = @Discount WHERE [OrderID] = @original_OrderID AND [ProductID] = @original_ProductID">
							 <DeleteParameters>
								 <asp:Parameter Type="Int32" Name="OrderID"></asp:Parameter>
								 <asp:Parameter Type="Int32" Name="ProductID"></asp:Parameter>
							 </DeleteParameters>
							 <UpdateParameters>
								 <asp:Parameter Type="Decimal" Name="UnitPrice"></asp:Parameter>
								 <asp:Parameter Type="Int16" Name="Quantity"></asp:Parameter>
								 <asp:Parameter Type="Single" Name="Discount"></asp:Parameter>
								 <asp:Parameter Type="Int32" Name="OrderID"></asp:Parameter>
								 <asp:Parameter Type="Int32" Name="ProductID"></asp:Parameter>
							 </UpdateParameters>
							 <SelectParameters>
								 <asp:ControlParameter Name="OrderID" DefaultValue="11077" Type="Int32" ControlID="dvOrders"
									 PropertyName="SelectedValue"></asp:ControlParameter>
							 </SelectParameters>
							 <InsertParameters>
								 <asp:Parameter Type="Int32" Name="OrderID"></asp:Parameter>
								 <asp:Parameter Type="Int32" Name="ProductID"></asp:Parameter>
								 <asp:Parameter Type="Decimal" Name="UnitPrice"></asp:Parameter>
								 <asp:Parameter Type="Int16" Name="Quantity"></asp:Parameter>
								 <asp:Parameter Type="Single" Name="Discount"></asp:Parameter>
							 </InsertParameters>
						 </asp:SqlDataSource>
					 </td>
				 </tr>
			 </table>
			 &nbsp;<asp:SqlDataSource ID="dsNWOrdersDetails" Runat="server"
							 UpdateCommand="UPDATE [Orders] SET [CustomerID] = @CustomerID, [EmployeeID] = @EmployeeID, [OrderDate] = @OrderDate, [RequiredDate] = @RequiredDate, [ShippedDate] = @ShippedDate, [ShipVia] = @ShipVia, [Freight] = @Freight, [ShipName] = @ShipName, [ShipAddress] = @ShipAddress, [ShipCity] = @ShipCity, [ShipRegion] = @ShipRegion, [ShipPostalCode] = @ShipPostalCode, [ShipCountry] = @ShipCountry WHERE [OrderID] = @original_OrderID"
							 InsertCommand="INSERT INTO [Orders] ([CustomerID], [EmployeeID], [OrderDate], [RequiredDate], [ShippedDate], [ShipVia], [Freight], [ShipName], [ShipAddress], [ShipCity], [ShipRegion], [ShipPostalCode], [ShipCountry]) VALUES (@CustomerID, @EmployeeID, @OrderDate, @RequiredDate, @ShippedDate, @ShipVia, @Freight, @ShipName, @ShipAddress, @ShipCity, @ShipRegion, @ShipPostalCode, @ShipCountry)"
							 DeleteCommand="DELETE FROM [Orders] WHERE [OrderID] = @original_OrderID"
							 SelectCommand="SELECT * FROM [Orders] ORDER BY [OrderID] DESC, [CustomerID]" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>">
							 <DeleteParameters>
								 <asp:Parameter Type="Int32" Name="OrderID"></asp:Parameter>
							 </DeleteParameters>
							 <UpdateParameters>
								 <asp:Parameter Type="String" Name="CustomerID"></asp:Parameter>
								 <asp:Parameter Type="Int32" Name="EmployeeID"></asp:Parameter>
								 <asp:Parameter Type="DateTime" Name="OrderDate"></asp:Parameter>
								 <asp:Parameter Type="DateTime" Name="RequiredDate"></asp:Parameter>
								 <asp:Parameter Type="DateTime" Name="ShippedDate"></asp:Parameter>
								 <asp:Parameter Type="Int32" Name="ShipVia"></asp:Parameter>
								 <asp:Parameter Type="Decimal" Name="Freight"></asp:Parameter>
								 <asp:Parameter Type="String" Name="ShipName"></asp:Parameter>
								 <asp:Parameter Type="String" Name="ShipAddress"></asp:Parameter>
								 <asp:Parameter Type="String" Name="ShipCity"></asp:Parameter>
								 <asp:Parameter Type="String" Name="ShipRegion"></asp:Parameter>
								 <asp:Parameter Type="String" Name="ShipPostalCode"></asp:Parameter>
								 <asp:Parameter Type="String" Name="ShipCountry"></asp:Parameter>
								 <asp:Parameter Type="Int32" Name="OrderID"></asp:Parameter>
							 </UpdateParameters>
							 <InsertParameters>
								 <asp:Parameter Type="String" Name="CustomerID"></asp:Parameter>
								 <asp:Parameter Type="Int32" Name="EmployeeID"></asp:Parameter>
								 <asp:Parameter Type="DateTime" Name="OrderDate"></asp:Parameter>
								 <asp:Parameter Type="DateTime" Name="RequiredDate"></asp:Parameter>
								 <asp:Parameter Type="DateTime" Name="ShippedDate"></asp:Parameter>
								 <asp:Parameter Type="Int32" Name="ShipVia"></asp:Parameter>
								 <asp:Parameter Type="Decimal" Name="Freight"></asp:Parameter>
								 <asp:Parameter Type="String" Name="ShipName"></asp:Parameter>
								 <asp:Parameter Type="String" Name="ShipAddress"></asp:Parameter>
								 <asp:Parameter Type="String" Name="ShipCity"></asp:Parameter>
								 <asp:Parameter Type="String" Name="ShipRegion"></asp:Parameter>
								 <asp:Parameter Type="String" Name="ShipPostalCode"></asp:Parameter>
								 <asp:Parameter Type="String" Name="ShipCountry"></asp:Parameter>
							 </InsertParameters>
						 </asp:SqlDataSource>
			 <!-- See modified UpdateCommand below
			 Original: UpdateCommand="UPDATE [Order Details] SET [UnitPrice] = @UnitPrice, [Quantity] = @Quantity, [Discount] = @Discount WHERE [OrderID] = @original_OrderID AND [ProductID] = @original_ProductID" -->
			 <asp:SqlDataSource ID="dsNWOrderDetailsFiltered" Runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
				 SelectCommand="SELECT * FROM [Order Details] WHERE ([OrderID] = @OrderID)" 
				 DeleteCommand="DELETE FROM [Order Details] WHERE [OrderID] = @original_OrderID AND [ProductID] = @original_ProductID" 
				 InsertCommand="INSERT INTO [Order Details] ([OrderID], [ProductID], [UnitPrice], [Quantity], [Discount]) VALUES (@OrderID, @ProductID, @UnitPrice, @Quantity, @Discount)" 
				 UpdateCommand="UPDATE [Order Details] SET [ProductID] = @ProductID, [UnitPrice] = @UnitPrice, [Quantity] = @Quantity, [Discount] = @Discount WHERE [OrderID] = @original_OrderID AND [ProductID] = @original_ProductID">
				 <DeleteParameters>
					 <asp:Parameter Type="Int32" Name="OrderID"></asp:Parameter>
					 <asp:Parameter Type="Int32" Name="ProductID"></asp:Parameter>
				 </DeleteParameters>
				 <UpdateParameters>
					 <asp:Parameter Type="Decimal" Name="UnitPrice"></asp:Parameter>
					 <asp:Parameter Type="Int16" Name="Quantity"></asp:Parameter>
					 <asp:Parameter Type="Single" Name="Discount"></asp:Parameter>
					 <asp:Parameter Type="Int32" Name="OrderID"></asp:Parameter>
					 <asp:Parameter Type="Int32" Name="ProductID"></asp:Parameter>
				 </UpdateParameters>
				 <SelectParameters>
					 <asp:ControlParameter Name="OrderID" Type="Int32" ControlID="dvOrders" PropertyName="SelectedValue"></asp:ControlParameter>
				 </SelectParameters>
				 <InsertParameters>
					 <asp:Parameter Type="Int32" Name="OrderID"></asp:Parameter>
					 <asp:Parameter Type="Int32" Name="ProductID"></asp:Parameter>
					 <asp:Parameter Type="Decimal" Name="UnitPrice"></asp:Parameter>
					 <asp:Parameter Type="Int16" Name="Quantity"></asp:Parameter>
					 <asp:Parameter Type="Single" Name="Discount"></asp:Parameter>
				 </InsertParameters>
			 </asp:SqlDataSource>
		 </div>
    </div>
    </form>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -