Jump to content

Ajuda Datagridview


AnaGPSI

Recommended Posts

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

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

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.