DataGrid错误
下面的代码点击EDIT可以,但点击EDIT和CANCEL却不行,请问错在哪里呀? 谢谢。
<%@ Page Language="VB" %>
<%@ import Namespace="System.Data.SqlClient" %>
<script runat="server">
Dim conNorthwind As SqlConnection
Dim cmdSql As SqlCommand
Dim strSql As String
Sub Page_Load
conNorthwind = New SqlConnection( "Server=mm\comdata;UID=sa;PWD=liang;Database=Northwind" )
If Not IsPostBack Then
BindDataGrid
End If
End Sub
Sub BindDataGrid
cmdSql = New SqlCommand( "Select * From Products", conNorthwind )
conNorthwind.Open()
dgrdProducts.DataSource = cmdSql.ExecuteReader()
dgrdProducts.DataBind()
conNorthwind.Close()
End Sub
Sub dgrdProducts_EditCommand( s As Object, e As DataGridCommandEventArgs )
dgrdProducts.EditItemIndex = e.Item.ItemIndex
BindDataGrid
End Sub
Sub dgrdProducts_UpdateCommand( s As Object, e As DataGridCommandEventArgs )
Dim intProductID As Integer
Dim txtProductName As TextBox
Dim txtUnitPrice As TextBox
Dim strProductName As String
Dim decUnitPrice As Decimal
intProductID = dgrdProducts.DataKeys( e.Item.ItemIndex )
txtProductName = e.Item.Cells( 1 ).Controls( 0 )
txtUnitPrice = e.Item.Cells( 2 ).Controls( 0 )
strProductName = txtProductName.Text
decUnitPrice = txtUnitPrice.Text
strSql = "Update Products Set ProductName=@ProductName, " _
& "UnitPrice=@UnitPrice Where ProductID=@ProductID"
cmdSql = New SqlCommand( strSql, conNorthwind )
cmdSql.Parameters.Add( "@ProductName", strProductName )
cmdSql.Parameters.Add( "@UnitPrice", decUnitPrice )
cmdSql.Parameters.Add( "@ProductID", intProductID )
conNorthwind.Open()
cmdSql.ExecuteNonQuery()
conNorthwind.Close()
dgrdProducts.EditItemIndex = -1
BindDataGrid
End Sub
Sub dgrdProducts_CancelCommand( s As Object, e As DataGridCommandEventArgs )
dgrdProducts.EditItemIndex = -1
BindDataGrid
End Sub
</script>
<html>
<head>
<title>DataGridEditProducts.aspx</title>
</head>
<body>
<form runat="Server">
<asp:DataGrid id="dgrdProducts" Runat="Server" HeaderStyle-BackColor="Salmon" CellPadding="10" AutoGenerateColumns="False" DataKeyField="ProductID" OnCancelCommand="dgrdProducts_CancelCommand" OnUpdateCommand="dgrdProducts_UpdateCommand" OnEditCommand="dgrdProducts_EditCommand">
<Columns>
<asp:BoundColumn HeaderText="Product ID" DataField="ProductID" ReadOnly="True" />
<asp:BoundColumn HeaderText="Product Name" DataField="ProductName" />
<asp:BoundColumn HeaderText="Price" DataField="UnitPrice" DataFormatString="{0:c}" />
<asp:EditCommandColumn EditText="Edit!" UpdateText="Update!" CancelText="Cancel!" />
</Columns>
</asp:DataGrid>
</form>
</body>
</html>
问题点数:20、回复次数:3Top
1 楼flyzq()回复于 2006-07-01 19:34:47 得分 10
跟踪调试Top
2 楼sunou5()回复于 2006-07-01 19:59:46 得分 10
应该是Update和Cancel不行吧?粗略看过一下,Cancel事件的写法是正确的。Top
3 楼java166()回复于 2006-07-01 21:48:14 得分 0
说具体些呀Top




