Depois do código apresentado até aqui, vou apresentar para vocês como trabalhar com uma
TableView. A princípio vai parecer meio complicado, mas tentarei deixar da maneira mais simples possível. :D
Para começarmos com a explicação, crie um formulário com esse layout:
Bom, feito isso, vou apresentar a programação desse formulário.
Existem 3 eventos necessários para esse formulário:
- PUBLIC SUB TextBox1_KeyPress()
- PUBLIC SUB TableView1_Data(Row AS Integer, Column AS Integer)
- PUBLIC SUB Form_Open()
Variáveis utilizadas:
- PUBLIC busca AS Result
- tabela[3] AS String
O primeiro:
PUBLIC SUB Form_Open()
cnx.ConectarBanco()
busca = cnx.conexao.Exec("select * from cadastro")
TableView1.columns.count = busca.fields.count
TableView1.rows.count = busca.count
END
Esse evento é executado quando o formulário é aberto.
O que ele faz?
- Conecta ao banco;
- Busca todos os registros da tabela cadastro;
- Determina a quantidade de colunas da tableview1 igual a quantidade de colunas que a busca dos registros retornou;
- Determina a quantidade de linhas da tableview1 igual a quantidade de linhas que a busca retornou.
PUBLIC SUB TableView1_Data(Row AS Integer, Column AS Integer)
tabela[0] = "codigo"
tabela[1] = "nome"
tabela[2] = "telefone"
busca.MoveTo(Row) 'não tive isso, para não ter uma surpresa desagradável :p
tableview1.data.Text = Str(busca[tabela[Column]])
END
Esse evento é responsável por jogar os dados na tableview1.
Como ele faz?
Tabela é uma variável do tipo array de 3, aí no primeiro campo coloca "codigo", esse é o campo da tabela do banco de dados, assim como o "nome" e "telefone".
As linhas abaixo são indispensável:
tableview1.data.Text = Str(busca[tabela[Column]])
dados da tableview1 = texto(registros(tabela[0,1,2]))
0, 1 e 2 são os campos que irão variar.
Essa parte eu acho complicada de explicar, mas está aí.
E agora para finalizar essa parte:
PUBLIC SUB TextBox1_KeyPress()
busca = cnx.conexao.Exec("select * from cadastro where nome like '%" & TextBox1.Text & "%'")
TableView1.columns.count = busca.fields.count
TableView1.rows.count = busca.count
END
Isso aí faz o seguinte, quando o pessoa digita "j" na textbox1, ele faz uma busca pelos nomes que começam com "j". Os % ali no meio são os caracteres coringas do MySQL.