2016-12-29 41 views
1

请帮助我。 我的vb代码有一些问题。我有一个Datagridview与复选框列。我的系统是一个图书馆系统。我希望用户只借2本书。我的问题是。 1.我想限制用户检查只有2. 2.当行是检查我想获得一些数据,例如书名和作者,并把它放在一个标签。VB.Net限制检查datagridview并从它获得数据标签

请帮帮我。

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

根据你的问题,让我回答第二个问题,因为我需要知道第一个,在这里。

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 ClickDataGridview Click再算上你列从0开始并替换以上所需的列例子的数量的代码。

DataGridView.Item(0, i).Value \\If 0 = BookID

+0

我已经拥有了它,tnx ..问题1请 – Elaine

0

您可以尝试使用List(如表级变量),并检查后If List.Contains(RowId)(其中ROWID是该行的唯一索引),它从名单上Then RemoveOrElse检查If List.Count < 2Add rowid的到列表。

之后,您可以检查具有Id的行到List并取消选中从列表中删除的行。

相关问题