Контроль два столбца флажок элементом управления datagridview
Привет,
У меня есть datagridview с 11 столбцами. 6. и 7. столбцы являются столбцом флажка. если 6. столбец установлен, он должен быть снят автоматически при выборе 7.столбец (установлен) в текущей строке.
Я много чего пробовал, но у меня ничего не получается.
Что я уже пробовал:
Private Sub dgTestler_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgTestler.CellContentClick If e.RowIndex >= 0 Then If dgTestler.Rows(e.RowIndex).Cells(6).Selected = True Then If dgTestler.Rows(e.RowIndex).Cells(6).Value = False And dgTestler.Rows(e.RowIndex).Cells(7).Value = False Then dgTestler.Rows(e.RowIndex).Cells(6).Selected = True dgTestler.Rows(e.RowIndex).Cells(9).Value = dgTestler.Rows(e.RowIndex).Cells(8).Value GenelToplam = GenelToplam + dgTestler.Rows(e.RowIndex).Cells(9).Value dgTestler.Rows(e.RowIndex).Cells(10).Value = dgTestler.Rows(e.RowIndex).Cells(8).Value * 100 dgTestler.Rows(e.RowIndex).Cells(11).Value = 1 TextBox1.Text = GenelToplam.ToString() Exit Sub ElseIf dgTestler.Rows(e.RowIndex).Cells(6).Value = True And dgTestler.Rows(e.RowIndex).Cells(7).Value = False Then dgTestler.Rows(e.RowIndex).Cells(6).Selected = False GenelToplam = GenelToplam - dgTestler.Rows(e.RowIndex).Cells(9).Value dgTestler.Rows(e.RowIndex).Cells(9).Value = "" dgTestler.Rows(e.RowIndex).Cells(10).Value = "" dgTestler.Rows(e.RowIndex).Cells(11).Value = "" TextBox1.Text = GenelToplam.ToString() Exit Sub ElseIf dgTestler.Rows(e.RowIndex).Cells(6).Value = True And dgTestler.Rows(e.RowIndex).Cells(7).Value = True Then dgTestler.Rows(e.RowIndex).Cells(6).Selected = True dgTestler.Rows(e.RowIndex).Cells(7).Selected = False dgTestler.Rows(e.RowIndex).Cells(9).Value = dgTestler.Rows(e.RowIndex).Cells(8).Value GenelToplam = GenelToplam + dgTestler.Rows(e.RowIndex).Cells(9).Value dgTestler.Rows(e.RowIndex).Cells(10).Value = dgTestler.Rows(e.RowIndex).Cells(8).Value * 100 dgTestler.Rows(e.RowIndex).Cells(11).Value = 1 TextBox1.Text = GenelToplam.ToString() Exit Sub End If ElseIf dgTestler.Rows(e.RowIndex).Cells(7).Selected = True Then If dgTestler.Rows(e.RowIndex).Cells(7).Value = False And dgTestler.Rows(e.RowIndex).Cells(6).Value = False Then dgTestler.Rows(e.RowIndex).Cells(7).Selected = True 'GenelToplam = GenelToplam - dgTestler.Rows(e.RowIndex).Cells(9).Value dgTestler.Rows(e.RowIndex).Cells(9).Value = 0 dgTestler.Rows(e.RowIndex).Cells(10).Value = 0 dgTestler.Rows(e.RowIndex).Cells(11).Value = 1 'TextBox1.Text = GenelToplam.ToString() Exit Sub ElseIf dgTestler.Rows(e.RowIndex).Cells(7).Value = True And dgTestler.Rows(e.RowIndex).Cells(6).Value = False Then dgTestler.Rows(e.RowIndex).Cells(7).Selected = False 'GenelToplam = GenelToplam - dgTestler.Rows(e.RowIndex).Cells(9).Value dgTestler.Rows(e.RowIndex).Cells(9).Value = "" dgTestler.Rows(e.RowIndex).Cells(10).Value = "" dgTestler.Rows(e.RowIndex).Cells(11).Value = "" 'TextBox1.Text = GenelToplam.ToString() Exit Sub ElseIf dgTestler.Rows(e.RowIndex).Cells(7).Value = True And dgTestler.Rows(e.RowIndex).Cells(6).Value = True Then dgTestler.Rows(e.RowIndex).Cells(6).Selected = False dgTestler.Rows(e.RowIndex).Cells(7).Selected = True GenelToplam = GenelToplam - dgTestler.Rows(e.RowIndex).Cells(9).Value dgTestler.Rows(e.RowIndex).Cells(9).Value = 0 dgTestler.Rows(e.RowIndex).Cells(10).Value = 0 dgTestler.Rows(e.RowIndex).Cells(11).Value = 1 TextBox1.Text = GenelToplam.ToString() Exit Sub End If End If End If End Sub
Maciej Los
Связан ли DataGridView с базой данных?
bellatriks
Да, DataGridView-это получение данных из базы данных SQL.
Maciej Los
ОК. Что вы используете: DataTable или BindingSource?
bellatriks
Никто. Я использую DataReader.
Если rdr. имеет значение, то
В то время как rdr.читать()
Дим р Как integer = dgTestler.Строк.Добавить()
dgTestler.Rows.Элемент(Р).Клеток(0).Значение = РДР(0)
dgTestler.Rows.Элемент(Р).Клетки(1).Значение = ОР(1)
dgTestler.Rows.Элемент(Р).Клетки(2).Значение = РДР(2)
dgTestler.Rows.Элемент(Р).Клетки(3).Значение = РДР(3)
dgTestler.Rows.Элемент(Р).Клетки(4).Значение = РДР(4)
dgTestler.Rows.Элемент(Р).Клетки(5).Значение = ор(5)
dgTestler.Rows.Элемент (r). ячейки (6). значение = False
dgTestler.Rows.Элемент (r). ячейки (7). значение = False
dgTestler.Rows.Элемент (r). ячейки (8). значение = rdr(6)
Агирликтоплами = Агирликтоплами + РДР(6)
'Bulgular.rtxtTitle.Текст = rdr(5).Метод toString()
Конец Пока
Конец, Если