如何在ASP.net代码页中删除GridView控件中的选定行?
我在ASP.net代码页中有以下VB代码,当我单击“删除链接”按钮时,它会删除GridView中的每一行。是否可以仅删除所选行如何在ASP.net代码页中删除GridView控件中的选定行?,asp.net,vb.net,Asp.net,Vb.net,我在ASP.net代码页中有以下VB代码,当我单击“删除链接”按钮时,它会删除GridView中的每一行。是否可以仅删除所选行 Protected Sub grvPos_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles grvPos.RowDeleting Dim cs As String Dim con As iDB2Connection Dim sql As String
Protected Sub grvPos_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles grvPos.RowDeleting
Dim cs As String
Dim con As iDB2Connection
Dim sql As String
Dim cmd As iDB2Command
Dim valDate As Integer
Dim portCode As String
Dim secCode As String
For Each gr As GridViewRow In grvPos.Rows
valDate = grvPos.DataKeys(gr.RowIndex).Values("VALN_DATE")
portCode = grvPos.DataKeys(gr.RowIndex).Values("PORT_CODE").ToString()
secCode = grvPos.DataKeys(gr.RowIndex).Values("SEC_CODE").ToString()
cs = ConfigurationManager.ConnectionStrings("ConnectionStringDB2").ConnectionString
con = New iDB2Connection(cs)
sql = "DELETE FROM OPTR_POS_FIX WHERE (VALN_DATE = @valDate) AND (PORT_CODE = @portCode) AND (SEC_CODE = @secCode)"
cmd = New iDB2Command(sql, con)
cmd.Parameters.AddWithValue("@valDate", valDate)
cmd.Parameters.AddWithValue("@portCode", portCode)
cmd.Parameters.AddWithValue("@secCode", secCode)
Try
Using con
con.Open()
cmd.ExecuteNonQuery()
End Using
Catch ex As Exception
Throw
End Try
Next
End Sub
谢谢你的帮助
提前感谢此代码中每个操作符的
将通过网格的所有行进行迭代。相反,您必须只获取选定的行
因此,只需删除每个下一个循环的,并添加行
GridViewRow gr = grvPos.Rows[e.RowIndex];
UPD。没错,在vb.net语法中,它将是:
Dim gr As GridViewRow
gr = grvPos.Rows(e.RowIndex)
谢谢,为了正常工作,我已经更改了代码
Dim gr As GridViewRow
gr = grvPos.Rows(e.RowIndex)
它说GridViewRow是一种类类型,不能用作表达式。@MattJames,对不起,我是习惯性地用c#语法写这行的。你的纠正很好。如果它解决了你的问题,请将答案标记为正确。