我有一个 DataGridView,我想要在 CheckColumn(我将其命名为“chk”)中检查的所有行对应的“ID”是另一列(column1)
我需要这些信息来朗读 MySQL 命令以删除已检查的用户..
我什至不知道如何开始请帮助不要讨厌:)
我有一个 DataGridView,我想要在 CheckColumn(我将其命名为“chk”)中检查的所有行对应的“ID”是另一列(column1)
我需要这些信息来朗读 MySQL 命令以删除已检查的用户..
我什至不知道如何开始请帮助不要讨厌:)
我认为您不能仅使用 CheckColumn 'chk' 来做到这一点。相反,遍历 的所有行DataGridView
,并找出 CheckColumn 的值是否为真。
这是一个可以帮助您入门的示例。想象一下,您有一个按钮单击例程来删除所有选中的行。在此例程中,当您遍历 中的每一行时,将 CheckColumnDataGridView
值为 的行存储到. 在我的示例中,我假设 ID 列是第一列,而 CheckColumn 是第二列。您可以调整我的示例中的数组索引以满足您的需要,或者按名称而不是索引访问列。对于已检查的行,您可以调用执行 SQL 事务的函数。True
List
当您完成DataGridView
整个.True
DataGridView
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
//Use a list to store all the rows you need to delete
Dim RowsToDelete As New List(Of DataGridViewRow)
//Go through each row and find all the ones who's values are checked
For Each row As DataGridViewRow In DataGridView1.Rows
//Assume column at index 0 is the ID and column at index 1 is the CheckColumn
If row.Cells(1).Value = True Then
DeleteRow(row.Cells(0).Value) //This will call your SQL stored procedure and pass it the ID
RowsToDelete.Add(row)
End If
Next
//Delete all the rows from the DataGridView that were checked
For Each rowtodelete In RowsToDelete
DataGridView1.Rows.Remove(rowtodelete)
Next
End Sub
Private Sub DeleteRow(ByVal ID As Integer)
//Call an SQL function here with the ID Value
//To delete the record from the database
End Sub
您可以通过将 ID 存储在表中并将表作为值传递给您的 SQL 过程来提高性能……我知道您可以在 SQL Server 2008 中执行此操作,但我不确定 MySQL。此外,如果 SQL 调用需要很长时间(在这种情况下似乎不会),您可能需要考虑在与用户界面不同的线程上运行 SQL 命令。但不要跳得太远,这应该足以让你开始。