Usuário com melhor resposta
Alterando cor de linhas datagridview

Pergunta
-
Bom dia, Pessoal.
Tenho um datagridview com 3 colunas uma delas é de combobox com 4 opçoes de escolha: Alta, média, Baixa e nao se aplica.
outra coluna e de texto, gostaria de saber como alterar as cores das textbox de acordo com a escolha da combobox.
por exemplo: se a escolha na combobox for "alta" a textbox fique vermelha.
se a escolha na combobox for "baixa" a textbox fique verde.
Obrigado.
Respostas
-
Public Class Form1 Public Sub DataGrid() Dim col1 = New DataGridViewComboBoxColumn() With { _ .Name = "Prioridade", _ .HeaderText = "Prioridade" _ } col1.Items.AddRange(New Object() {"Alta", "Média", "Baixa"}) Dim col2 = New DataGridViewTextBoxColumn() dataGridView1.Columns.Add(col1) dataGridView1.Columns.Add(col2) AddHandler dataGridView1.CellValueChanged, AddressOf dataGridView1_CellValueChanged AddHandler dataGridView1.CurrentCellDirtyStateChanged, AddressOf dataGridView1_CurrentCellDirtyStateChanged End Sub Private Sub dataGridView1_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) If e.ColumnIndex = 0 AndAlso e.RowIndex >= 0 Then Dim valor As Object = dataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value Select Case valor.ToString() Case "Alta" dataGridView1.Rows(e.RowIndex).Cells(1).Style.BackColor = Color.Wheat Exit Select Case "Média" dataGridView1.Rows(e.RowIndex).Cells(1).Style.BackColor = Color.RoyalBlue Exit Select Case "Baixa" dataGridView1.Rows(e.RowIndex).Cells(1).Style.BackColor = Color.Aquamarine Exit Select End Select End If End Sub Private Sub dataGridView1_CurrentCellDirtyStateChanged(sender As Object, e As EventArgs) If dataGridView1.IsCurrentCellDirty Then dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit) End If End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load DataGrid() End Sub End Class
Att,
Antero Marques
_______________________________________________________________________________Se a resposta for útil, marque como útil, se respondeu totalmente sua dúvida, marque como resposta.
O Fórum MSDN é utilizado também como base de conhecimento, então é responsabilidade de todos mantê-lo organizado e funcional.- Editado Antero Marques quarta-feira, 6 de abril de 2016 13:53
- Marcado como Resposta Marcos SJ quarta-feira, 6 de abril de 2016 16:21
Todas as Respostas
-
Public Class Form1 Public Sub DataGrid() Dim col1 = New DataGridViewComboBoxColumn() With { _ .Name = "Prioridade", _ .HeaderText = "Prioridade" _ } col1.Items.AddRange(New Object() {"Alta", "Média", "Baixa"}) Dim col2 = New DataGridViewTextBoxColumn() dataGridView1.Columns.Add(col1) dataGridView1.Columns.Add(col2) AddHandler dataGridView1.CellValueChanged, AddressOf dataGridView1_CellValueChanged AddHandler dataGridView1.CurrentCellDirtyStateChanged, AddressOf dataGridView1_CurrentCellDirtyStateChanged End Sub Private Sub dataGridView1_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) If e.ColumnIndex = 0 AndAlso e.RowIndex >= 0 Then Dim valor As Object = dataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value Select Case valor.ToString() Case "Alta" dataGridView1.Rows(e.RowIndex).Cells(1).Style.BackColor = Color.Wheat Exit Select Case "Média" dataGridView1.Rows(e.RowIndex).Cells(1).Style.BackColor = Color.RoyalBlue Exit Select Case "Baixa" dataGridView1.Rows(e.RowIndex).Cells(1).Style.BackColor = Color.Aquamarine Exit Select End Select End If End Sub Private Sub dataGridView1_CurrentCellDirtyStateChanged(sender As Object, e As EventArgs) If dataGridView1.IsCurrentCellDirty Then dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit) End If End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load DataGrid() End Sub End Class
Att,
Antero Marques
_______________________________________________________________________________Se a resposta for útil, marque como útil, se respondeu totalmente sua dúvida, marque como resposta.
O Fórum MSDN é utilizado também como base de conhecimento, então é responsabilidade de todos mantê-lo organizado e funcional.- Editado Antero Marques quarta-feira, 6 de abril de 2016 13:53
- Marcado como Resposta Marcos SJ quarta-feira, 6 de abril de 2016 16:21
-
-
Maduh,
O que te passei foi só um exemplo que como fazer.
Se você já tem um ambiente, você vai apenas adaptar.
Att,
Antero Marques
___________________________________________________________________________
Se a resposta for útil, marque como útil, se respondeu totalmente sua dúvida, marque como resposta.
O Fórum MSDN é utilizado também como base de conhecimento, então é responsabilidade de todos mantê-lo organizado e funcional.
- Editado Antero Marques quinta-feira, 7 de abril de 2016 14:43
-