我创建了一个包含DataGridView并创建第一列作为复选框列和fullrowselect为True的表单。
我希望当我单击该行的复选框或更改所选行的复选框值时,该特定记录应该在数据库中更新...DataGridView:单元格值更改时更新SQL数据库
我写了查询,但面对下面提到的一些问题。
现在我第一次在小区click事件试过...
Private Sub DGVHelp_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DGVHelp.CellClick
Try
If PubHelpCode = "ACTMAST" And e.ColumnIndex = 0 Then 'if only checkbox column is clicked
cmd = New SqlCommand("Update FAMPAR SET Tag = '" & DGVHelp(0, e.RowIndex).Value & "' where Account_Code = '" & DGVHelp(1, e.RowIndex).Value & "' ", con1)
ExecuteQuery(con1, "EDITCHECKBOX") ' Its my UDF
DGV_Reset()' This clears the datagrid and fetch the data again
End If
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
当我点击复选框单元格(第一列),该单元格的值发生变化的情况下第一次运行,然后...即在单元格单击事件期间,如果DGVHelp(0,e.RowIndex).Value的值在打勾或未打勾时不会更改其值。
我甚至尝试cellvaluechanged事件,但它通过一些连续的过程,我不知道挂程序...
我应该使用哪个事件来完成我的任务?
如果有关该任务的任何其他意见/想法是有,那么请共享......
守则OneDrive以下链接共享..
Solution Code link
当你点击一个'DataGridViewCheckBox',你做对细胞的变化不会立即提交到数据源,直到您完成编辑单元格,然后更改将被推送到数据源。该'CellClick'或'CellContentClick'将是美好的,但你需要提交修改到数据源,否则你读出的值是不是你看到的价值。看看这篇文章:[DataGridView的复选框列不适改变底层绑定对象(http://stackoverflow.com/a/40348082/3110834) –
不要找任何其它事件,只要使用' CellClick'或'CellContentClick' [这种方式](http://stackoverflow.com/a/34090635/3110834)。 –
雅我尽量@RezaAghaei – bonny