2016-02-22 3 views
0

У меня есть DatagridView с данными непосредственно из набора записей.VB.NET Установите флажок в Datagridview

у меня был новый столбец перед другими как тип Флажок с этим кодом:

Dim chk As New DataGridViewCheckBoxColumn() 
gridRicette.Columns.Add(chk) 
chk.HeaderText = "Sel." 
chk.Name = "chk" 

И появляются. Но когда я нажимаю на флажок, ничего не происходит.

Вы можете помочь мне решить эту проблему?

Спасибо!

+0

Вам необходимо привязать его к соответствующему столбцу источника данных. см. https://msdn.microsoft.com/en-us/library/system.windows.controls.datagridboundcolumn.binding(v=vs.110).aspx –

+0

Я сделал это, но когда я нажму на флажок, я не «включить», чтобы проверить/снять флажок ... – Swim89

ответ

1

попробовать что-то вроде этого ....

Public Class Form1 

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    Dim chk As New DataGridViewCheckBoxColumn() 
    gridRicette.Columns.Add(chk) 
    chk.HeaderText = "Sel." 
    chk.Name = "chk" 
End Sub 

Private Sub gridRicette_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles gridRicette.CellContentClick 
    Dim senderGrid As DataGridView = sender 
    Dim data = senderGrid.Rows(e.RowIndex).DataBoundItem 

    If senderGrid.Columns(e.ColumnIndex).GetType() Is GetType(DataGridViewCheckBoxColumn) And e.RowIndex >= 0 Then 
     MessageBox.Show(String.Format("You selected row {0}", e.RowIndex)) 
    End If 
End Sub 
End Class 

Вы можете использовать событие DataGridView1_CellContentClick, а затем определить, что была нажата пользователем .... надеюсь, что помогает.

Смежные вопросы