2016-12-29 50 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並取消選中從列表中刪除的行。