2016-02-05 3 views
0

У меня есть DataGridview, который позволяет пользователю выполнить задание (room ->activity) с Checkboxes.DataGridViewCheckBoxColumn Change CheckBox Display

Каждый column представляет собой room. Каждый row представляет собой activity.

Выполняется полностью. Теперь я хочу, чтобы CheckBoxes выглядел лучше (толстый зеленый тик для True, толстый красный x для False), чтобы сделать его более удобным для пользователя, чтобы получить обзор. Тик и х могут быть всем необходимым; простой ascii characters или images - Независимо от того, что работает.

Следующий код используется для создания DataGridViewCheckBoxColumns.

For Each row As DataRow In dt_rooms.Rows 
     Dim a As DataGridViewCheckBoxColumn = New DataGridViewCheckBoxColumn(False) 
     a.FlatStyle = FlatStyle.Popup 
     a.CellTemplate = New DataGridViewCheckBoxCell() 
     a.ToolTipText = row.Item("room") 
     a.Name = row.Item("room") 
     a.CellTemplate.Style.SelectionBackColor = Color.White 
     dgv.Columns.Add(a) 
    Next 

ответ

1

Один из способов сделать так, чтобы обрабатывать DataGridView.CellPainting событие. В этом дескрипторе вы могли бы, например, изменить цвет ячейки фона в зависимости от значения ячейки (отмечено или нет).

См. Это link например.