2016-12-29 7 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

あなたの問題に基づいて、私は最初のものを知る必要があるので、2番目の答えにしましょう、ここにあります。

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 

それはあなたが0から始まるあなたの列をカウントして、目的の列の例の数で上記のコードを置き換え、その後のいずれかButton ClickまたはDataGridview Clickにこのコードを置くことができる唯一の例です。

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

+0

私はすでにそれを持っています、tnx ..問題1 pls – Elaine

0

あなたを確認した後、List(フォームレベルとして変数)を使用して試すことができますIf List.Contains(RowId)それ一覧からThen Remove(ROWIDは、行の一意のインデックスです)OrElseチェックIf List.Count < 2AddのRowIdへリスト。

その後、IDを持つ行をListにチェックインし、リストから削除した行のチェックを外すことができます。

関連する問題