请帮帮我。 我的vb代码有问题。我有一个带有Checkbox列的Datagridview。我的系统是一个图书馆系统。我希望用户只借两本书。我的问题是。 我想限制用户只检查2。 2.当检查行时,我想获得一些数据,例如书名和作者,并将其放到标签上。
请帮帮我。
Public Sub BorrowBook()
Dim Message As String = String.Empty
Dim Message1 As String = String.Empty
Dim Message2 As String = String.Empty
Dim Message3 As String = String.Empty
Dim Message4 As String = String.Empty
Dim Message5 As String = String.Empty
For Each row As DataGridViewRow In Form5.DataGridView1.Rows
Dim isSelected As Boolean = Convert.ToBoolean(row.Cells("checkBoxColumn").Value)
isSelected += 1
If isSelected = 1 Then
Message = row.Cells("BookID").Value.ToString()
Message1 = row.Cells("CallNumber").Value.ToString()
Message2 = row.Cells("Title").Value.ToString()
ElseIf isSelected = 2 Then
Message3 = row.Cells("BookID").Value.ToString()
Message4 = row.Cells("CallNumber").Value.ToString()
Message5 = row.Cells("Title").Value.ToString()
End If
Next
Form5.Label17.Text = Message
Form5.Label25.Text = Message1
Form5.Label21.Text = Message2
Form5.Label20.Text = Message3
Form5.Label26.Text = Message4
Form5.Label19.Text = Message5
End Sub
答案 0 :(得分:0)
基于你的问题让我回答第二个,因为我需要知道第一个,就在这里。
Private Sub DataGridView_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
Dim i As Integer
i = DataGridView.CurrentRow.Index
Form5.Label17.Text = DataGridView.Item(0, i).Value
Form5.Label25.Text= DataGridView.Item(1, i).Value
Form5.Label21.Text = DataGridView.Item(2, i).Value
Form5.Label19.Text = DataGridView.Item(3, i).Value
End Sub
这只是一个示例,您可以将此代码放在Button Click
或DataGridview Click
中,然后从0开始计算列,并将上面的代码替换为所需列示例的编号。
DataGridView.Item(0, i).Value \\If 0 = BookID
答案 1 :(得分:0)
您可以尝试使用List
(作为表单级变量),并在检查If List.Contains(RowId)
(其中RowId是行的唯一索引)Then Remove
之后从列表{{ 1}}检查OrElse
和If List.Count < 2
RowId到列表。
之后,您可以将具有Id的行检入Add
,并取消选中从列表中删除的行。