AnaGPSI Posted June 29, 2012 at 10:18 AM Report Share #466378 Posted June 29, 2012 at 10:18 AM Olá bom dia tenho um pequeno problema que não consigo resolver. Na minha aplicação tenho uma datagridview onde as colunas são criadas por código, esta datagridvview só aparece depois de selecionar uma turma numa combobox. Na datagridview tenho as seguintes colunas: Alunos Classificação numerária - (combobox) Classificação extenso - (textbox) Data Conclusão - (DateTimePicker) A dúvida é a seguinte depois de selecionar a classificação numeraria aparecer na classificação extenso o numero em extenso, tenho este código para atribuir o nome na classificação extenso. For Each item As DataGridViewRow In DataGridView1.Rows If item.Cells(0).Value = 1 Then item.Cells(2).Value = "Um" Else If item.Cells(0).Value = 2 Then item.Cells(2).Value = "Dois" Else If item.Cells(0).Value = 3 Then item.Cells(2).Value = "Três" Else If item.Cells(0).Value = 4 Then item.Cells(2).Value = "Quatro" Else If item.Cells(0).Value = 5 Then item.Cells(2).Value = "Cinco" Else If item.Cells(0).Value = 6 Then item.Cells(2).Value = "Seis" Else If item.Cells(0).Value = 7 Then item.Cells(2).Value = "Sete" Else If item.Cells(0).Value = 8 Then item.Cells(2).Value = "Oito" Else If item.Cells(0).Value = 9 Then item.Cells(2).Value = "Nove" Else If item.Cells(0).Value = 10 Then item.Cells(2).Value = "Dez" Else If item.Cells(0).Value = 11 Then item.Cells(2).Value = "Onze" Else If item.Cells(0).Value = 12 Then item.Cells(2).Value = "Doze" Else If item.Cells(0).Value = 13 Then item.Cells(2).Value = "Treze" Else If item.Cells(0).Value = 14 Then item.Cells(2).Value = "Quatorze" Else If item.Cells(0).Value = 15 Then item.Cells(2).Value = "Quinze" Else If item.Cells(0).Value = 16 Then item.Cells(2).Value = "Dezasseis" Else If item.Cells(0).Value = 17 Then item.Cells(2).Value = "Dezessete" Else If item.Cells(0).Value = 18 Then item.Cells(2).Value = "Dezoito" Else If item.Cells(0).Value = 19 Then item.Cells(2).Value = "Dezanove" Else If item.Cells(0).Value = 20 Then item.Cells(2).Value = "Vinte" End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If Next O meu problema é onde colocar este código. Alguém me ppode dar uma ajudinha? Link to comment Share on other sites More sharing options...
jlpcalado Posted June 29, 2012 at 11:15 AM Report Share #466398 Posted June 29, 2012 at 11:15 AM Olá. Vê o código abaixo. Qdo há muitos ifs sobre a mesma questão é mais simples (e legível) usar a instrução Select Case. O e.ColumnIndex = 0 é só para dizer que o código só corre se mudares o valor da 1ª coluna. Private Sub DataGridView1_CellValueChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged If e.ColumnIndex = 0 Then For Each item As DataGridViewRow In DataGridView1.Rows Select Case item.Cells(0).Value Case 1 item.Cells(1).Value = "Um" Case 2 item.Cells(1).Value = "Dois" Case 3 ... End Select Next End If End Sub Link to comment Share on other sites More sharing options...
AnaGPSI Posted June 29, 2012 at 11:24 AM Author Report Share #466406 Posted June 29, 2012 at 11:24 AM E depois coloco este código em qual private sub? mas a datagridview so aparece quando selecciono uma turma Link to comment Share on other sites More sharing options...
AnaGPSI Posted June 29, 2012 at 12:22 PM Author Report Share #466417 Posted June 29, 2012 at 12:22 PM Com o código assim não faz nada: Private Sub DataGridView1_CellValueChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged If e.ColumnIndex = 0 Then For Each item As DataGridViewRow In DataGridView1.Rows Select Case item.Cells(0).Value Case 1 item.Cells(1).Value = "Um" Case 2 item.Cells(1).Value = "Dois" Case 3 item.Cells(1).Value = "Três" Case 4 item.Cells(1).Value = "Quatro" Case 5 item.Cells(1).Value = "Cinco" Case 6 item.Cells(1).Value = "Sais" Case 7 item.Cells(1).Value = "Sete" Case 8 item.Cells(1).Value = "Oito" Case 9 item.Cells(1).Value = "Nove" Case 10 item.Cells(1).Value = "Dez" Case 11 item.Cells(1).Value = "Onze" Case 12 item.Cells(1).Value = "Doze" Case 13 item.Cells(1).Value = "Treze" Case 14 item.Cells(1).Value = "Quatorze" Case 15 item.Cells(1).Value = "Quinze" Case 16 item.Cells(1).Value = "Dezasseis" Case 17 item.Cells(1).Value = "Dezassete" Case 18 item.Cells(1).Value = "Dezoito" Case 19 item.Cells(1).Value = "Dezanove" Case 20 item.Cells(1).Value = "Vinte" End Select Next End If End Sub Já consegui obrigada. A posições estavam trocadas. Obrigada pela dica, valeu 😄 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now