У меня есть база данных, которая выглядит, как этотплощади Заполненный вместо цвета в DataGridView Checkbox
как то, что вы видите на изображении выше всех столбцов, кроме Month
являются TinyInt(1)
и Month
является Varchar
теперь у меня есть код здесь
Dim con1 As MySqlConnection = New MySqlConnection("server=192.168.2.87;userid=root;password=admin1950;database=inventory")
Dim sql1 As MySqlCommand = New MySqlCommand("Select * from ri_closure", con1)
Dim ds1 As DataSet = New DataSet
Dim adapter1 As MySqlDataAdapter = New MySqlDataAdapter
con1.Open()
adapter1.SelectCommand = sql1
adapter1.Fill(ds1, "MyTable")
DataGridView2.DataSource = ds1.Tables(0)
con1.Close()
ds1.Tables(0).Columns(2).DataType = GetType(Boolean)
Me.DataGridView2.Columns(1).Frozen = True
Dim i As Integer
For i = 0 To DataGridView2.Columns.Count - 1
DataGridView2.Columns.Item(i).SortMode = DataGridViewColumnSortMode.Programmatic
Next
DataGridView2.Columns(0).Visible = False
DataGridView2.Columns(1).DefaultCellStyle.BackColor = Color.LightBlue
Теперь это то, что он выглядит
Теперь вы видите выход, и я уверен, что вы не хотите, чтобы красные. Вызывает раздражение в глазах, и вот мой код для этого
For Each rw As DataGridViewRow In DataGridView2.Rows
For ii As Integer = 2 To rw.Cells.Count - 1
If rw.Cells(ii).Value = False Then
rw.Cells(ii).Style.BackColor = Color.Red
ElseIf rw.Cells(ii).Value = True Then
rw.Cells(ii).Style.BackColor = Color.White
End If
Next
Next
Теперь вот мой вопрос, и я надеюсь, что это возможно. Я хочу сделать что-то вроде этого, а не отменено, и превратить ячейку в красный. Как я могу сделать неэкранную ячейку такой.
вместо пустой флажок будет выглядеть так же, как на картинке выше.
и еще один. Я надеюсь, что тот, который будет сгенерировать заполненный флажок, заменит значение uncheked, потому что у меня есть код для проверки этого.
Стараюсь некоторый код, и это выход
TYSM для будущей помощи
Сэр пожалуйста, вы можете encorporate код на форме нагрузки на мой код? –
Это не имеет никакого отношения к загрузке формы. Обработать событие «CellPainting» сетки. 'If (e.ColumnIndex = 0' означает использование пользовательской логики рисования для столбца с индексом 0. –
Я пробовал ваш код sir, а первый второй столбец - единственная строка, которая имеет право поставить, я обновлю свой пост sir –