O bacalhau
Copie a pasta onde criou o exercício 2.
Vamos utilizar agora um array de class.
Para “preencher” a datagridview da form2, deve utilizar um ciclo e adicionar tantas linhas quantas a variável linha lhe indicar.
Sugestão para a alteração da form1:
[pic]
Module Module1 'linha é uma variável que conta o nº de entradas no array Public linha As Integer = -1 'Não posso utilizar New quando utilizo um arrray Public art(10) As artigo
End Module
….. No botão confirma adição, coloquei o código que se segue: Dim dif As Integer
If TextBox1.Text String.Empty And TextBox2.Text String.Empty And TextBox3.Text String.Empty And IsDate(MaskedTextBox1.Text) And linha < 10 Then
linha = linha + 1
'Agora sim, posso dizer que cada posição do meu array é um novo objeto da class artigo art(linha) = New artigo
art(linha).desc = TextBox1.Text art(linha).money = TextBox2.Text art(linha).quant = TextBox3.Text art(linha).validade = MaskedTextBox1.Text dif = art(linha).validar DataGridView1.Rows.Insert(linha, art(linha).desc, art(linha).money, art(linha).validade, art(linha).quant) If dif > 0 Then MaskedTextBox1.BackColor = Color.Red Label3.BackColor = Color.Red MsgBox("Prazo de validade expirou à " & dif & " dia(s).") Else MaskedTextBox1.BackColor = Color.Green Label3.BackColor = Color.Green Button1.Show() Button2.Hide() End If ElseIf linha < 10 Then
MsgBox("FALTA de INFORMAÇÃO / Data inválida!") Else MsgBox("Excedeu capacidade do array") End If
Ordenar a datagridview da Form2
[pic]
'ordena de forma descendente, após selecionarmos a coluna para essa ordenação.
Private Sub Button1_Click(ByVal sender As