CHECKBOX C/RETORNO FALSE NO DATAGRIDVIEW
Criei um datagridview tendo na primeira coluna um check box.
Quando eu marcar este check box, quero que o conteúdo de dois text box que estão fora do datagridview, passem para as colunas 3 e 4 do datagridview na linha corrente.
Quando eu desmarcar o check box quero que limpe as colunas 3 e 4 na linha corrente.
Fiz o tratamento em CellContentClick, conforme abaixo, porém só me retorna o valor do check box como False, mesmo marcado. O que devo fazer?
Private Sub dgvAge_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvAge.CellContentClick
Select Case e.ColumnIndex
Case 0
If dgvAge.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = True Then
dgvAge.Rows(e.RowIndex).Cells(3).Value = txtNome.Text
dgvAge.Rows(e.RowIndex).Cells(4).Value = txtTel.Text
Else
dgvAge.Rows(e.RowIndex).Cells(3).Value = Nothing
dgvAge.Rows(e.RowIndex).Cells(4).Value = Nothing
End If
End Select
End Sub
Quando eu marcar este check box, quero que o conteúdo de dois text box que estão fora do datagridview, passem para as colunas 3 e 4 do datagridview na linha corrente.
Quando eu desmarcar o check box quero que limpe as colunas 3 e 4 na linha corrente.
Fiz o tratamento em CellContentClick, conforme abaixo, porém só me retorna o valor do check box como False, mesmo marcado. O que devo fazer?
Private Sub dgvAge_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvAge.CellContentClick
Select Case e.ColumnIndex
Case 0
If dgvAge.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = True Then
dgvAge.Rows(e.RowIndex).Cells(3).Value = txtNome.Text
dgvAge.Rows(e.RowIndex).Cells(4).Value = txtTel.Text
Else
dgvAge.Rows(e.RowIndex).Cells(3).Value = Nothing
dgvAge.Rows(e.RowIndex).Cells(4).Value = Nothing
End If
End Select
End Sub
O problema é o tipo de evento que está usando. Faça um teste com o evento CellClick (um problema que você pode ter é que ele só vai funcionar perfeitamente quando o valor estiver validado, na qual só aparece após a modificação dos dados) e coloque o valor zero para celula, como está abaixo:
If dgvAge.Rows(e.RowIndex).Cells([txt-color=#e80000]0[/txt-color]).Value = True Then
Citação::
O problema é o tipo de evento que está usando. Faça um teste com o evento CellClick (um problema que você pode ter é que ele só vai funcionar perfeitamente quando o valor estiver validado, na qual só aparece após a modificação dos dados) e coloque o valor zero para celula, como está abaixo:
If dgvAge.Rows(e.RowIndex).Cells([txt-color=#e80000]0[/txt-color]).Value = True Then
Ola JABA
Troquei o evento para CellClick como você sugeriu, mas não está funcionando. Quando eu marco o check box nada acontece, porém quando eu clico em qualquer lugar do datagrid os dados são exibidos. Acho que você mesmo já havia previsto o problema, tanto é que escreveu que só vai funcionar perfeitamente quando o valor estiver validado. Você conhece alguma saÃda para isto? Tem alguma maneira de forçar a validação?
Use o FormattedValue ou EditedFormattedValue para isso.
pt.stackoverflow.com/questions/93395/capturar-valor-selecionado-no-checkbox-do-grid
social.msdn.microsoft.com/Forums/pt-BR/7d13ac8f-81f3-485e-b391-7b96c03caee3/verificar-o-checkbox-no-datagridview?forum=vscsharppt
pt.stackoverflow.com/questions/93395/capturar-valor-selecionado-no-checkbox-do-grid
social.msdn.microsoft.com/Forums/pt-BR/7d13ac8f-81f3-485e-b391-7b96c03caee3/verificar-o-checkbox-no-datagridview?forum=vscsharppt
Obrigado JABA. Conversei com o usuário e mudamos algumas coisas.
Tópico encerrado , respostas não são mais permitidas