18
Ol pessoal, Inicialmente gostaria de agradecer ao convite para participa da famlia Linha de Cdigo. sempre bom estar ao lado de pessaos do nosso meio apredendo e trocando conhecimentos. Como colunista pretendo participar fornecendo artigos, aplicativos e dicas que possam ser teis no nosso dia a dia. Para comear irei mostrar uma tcnica muito simples de como usar um Listview para exibir dados de uma tabela. Mos a obra. Neste artigo vou utilizar Banco de Dados MySQL, mas nada impede que se possa usar outros tipos (Interbase/FireBird ou at mesmo o velho Paradox e Dbase). Estrutura das Tabela Tabela users
Definindo um Data Module No Delphi crie uma nova aplicao e em File->New->Other escolha Data Module, salve o nosso Data Module como Modulo e na propriedade Name digite Dm. Agora vamos paleta de componentes na pagina dbExpress e inclua um SQLConnection e umSQLQuery . Faa as seguintes alteraes nos componentes. Configure uma conexo MySQL. Mude as Propriedades:
www.linhadecodigo.com.br/artigo/581/delphi-usando-listview-como-dbgrid.aspx
1/6
07/08/13
SQLConnection1
Name = SqUsers SQLConnection = SQLConnection1 SQL = select * from users order by login SQLQuery1 Active = True Adicione todos os Campos ao SQLQuery Seu Data Module deve esta como mostrado abaixo.
Configurando o Formulrio No form1 vamos incluir um ListView e ImageList (ambos da pagina Win32) . E mude as propriedades como mostrado abaixo. GridLines = True SmallImages = ImageList1 ListView1 RowSelect = True ViewStyle = vsReport Clique duas no Listview e inclua trs colunas. Conforme mostrado abaixo.
Vamos muda as propriedades: Caption = Login 0 TListColumn Width = 150 Caption = Nome do Usurio
www.linhadecodigo.com.br/artigo/581/delphi-usando-listview-como-dbgrid.aspx 2/6
07/08/13
1 TListColumn
2 TListColumn
Agora clique duas vezes no ImageList1 e escolha os cones que sero exibidos.
Vamos usar a imagem 0 para usurios com Nvel igual A e a imagem 1 para usurios com Nvel O. Criando o procedimento Agora vamos criar o procedimento responsvel por mostrar os dados da tabela no ListView. No editor de cdigo na sesso public vamos declara o procedimento CriarLista e na sessoimplementation adicione nosso Data Module (Modulo). Conforme mostrado abaixo.
www.linhadecodigo.com.br/artigo/581/delphi-usando-listview-como-dbgrid.aspx
3/6
07/08/13
Agora vamos ao cdigo procedure TForm1.CriarLista; var ListItem: TListItem; // Criamos uma varivel para guarda os itens do Listview begin // Limpa o Conteudo Existente no ListView ListView1.Clear; // Posicionamos no Primeiro Registro Dm.SqUsers.First; while not Dm.SqUsers.Eof do begin // Adicionamos um Item ao ListView ListItem := ListView1.Items.Add; // Verifica qual o Icone deve ser apresentado if Dm.SqUsersnivel.Value = "A" then ListItem.ImageIndex := 0 else ListItem.ImageIndex := 1; // Adicionamos dados a Coluna Login ListItem.Caption := Dm.SqUserslogin.Value;
www.linhadecodigo.com.br/artigo/581/delphi-usando-listview-como-dbgrid.aspx 4/6
07/08/13
// Adicionamos a Coluna Nome do Usuario ListItem.SubItems.Add(Dm.SqUsersnome_usuario.Value); // Adicionamos a coluna Nivel ListItem.SubItems.Add(Dm.SqUsersnivel.Value); // Mudamos para o proximo registro Dm.SqUsers.Next; end; //Seleciona a primeira linha do ListView se existir dados na tabela if Dm.SqUsers.RecordCount > 0 then Listview1.ItemIndex := 0; end; Agora no Evento OnShow do formulrio vamos acrescenta no procedimento procedure TForm1.FormShow(Sender: TObject); begin CriarLista; end; Agora basta executa a aplicao para ver o resultado.
Concluso Aqui termino meu primeiro artigo, tentei mostrar de forma simples como exibir dados de uma tabela num ListView. Dica que pode ser til em pequenas aplicaes.
www.linhadecodigo.com.br/artigo/581/delphi-usando-listview-como-dbgrid.aspx
5/6
07/08/13
www.linhadecodigo.com.br/artigo/581/delphi-usando-listview-como-dbgrid.aspx
6/6