Ich hatte ein Problem mit der Aktualisierung nur der überprüften Zeilen in GridView
, da ich einen Spaltenzellenwert nur basierend auf dem ID-Wert der geprüften Zeilen aktualisieren muss.Geprüfte Gridview-Zeilen aktualisieren
ich diesen Code versucht, aber es aktualisiert zufällige Zeilen, nicht die geprüft:
Try
Dim I As Integer
For I = 0 To GridView1.SelectedRowsCount() - 1
If (GridView1.GetSelectedRows()(I) >= 0) Then
Dim strID As String = GridView1.GetRowCellValue(I, "ID")
Dim strUpdate As String = "UPDATE records SET payment_order= @payment_order where ID = @ID"
cmd.CommandType = CommandType.Text
cmd.CommandText = strUpdate.ToString()
cmd.Parameters.Clear()
cmd.Parameters.AddWithValue("@payment_order", rfnd_id_lbl.Text)
cmd.Parameters.AddWithValue("@ID", strID)
cmd.Connection = con
con.Open()
cmd.ExecuteNonQuery()
End If
Next
Catch ex As SqlException
Dim errorMsg As String = "Error in Update"
errorMsg += ex.Message
Throw New Exception(errorMsg)
Finally
con.Close()
End Try
Kann mir jemand helfen, dieses Problem zu lösen, bitte?
Können Sie das näher erläutern weiter, warum dieser Ansatz hilft OP ursprüngliches Problem lösen würde? Es ist weniger effektiv, jemanden an die Dokumentation zu verweisen, als den Prozess zu erklären, der hinter der Lösung der Probleme steht. Sie erklären kurz, was zu verwenden ist, aber größere Tiefe ist erforderlich. –
Ich schrieb es ==> Verwenden Sie GridView1.GetDataRow (GridView1.GetSelectedRows() [i]) anstelle von Dim StrID als String = GridView1.GetRowCellValue (I, "ID") –
Dies hilft nicht näher zu erklären, warum Ihr Ansatz ist effektiver oder warum es funktionieren würde. Vielleicht siehst du etwas, das der OP oder ich selbst vermisse, aber ohne eine Erklärung ist deine Antwort nur ein Leckerbissen Code. Ein Teil von SO erklärt das * warum * und nicht nur das * wie *. Da die Frage des OP vom März an gestellt wird, besteht die Gefahr, dass Ihre Antwort aufgrund von Unklarheiten automatisch bereinigt wird. –