Vous êtes sur la page 1sur 6

07/08/13

Delphi: Usando ListView como DBGrid

Delphi: Usando ListView como DBGrid


Neste artigo irei mostrar uma tcnica muito simples de como usar um Listview para exibir dados de uma tabela.
por Walb ert Castro

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

Inclua alguns registros para teste.

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

Delphi: Usando ListView como DBGrid

SQLConnection1

LoadParamOnConnect = True LoginPrompt = False Connected = True

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

Delphi: Usando ListView como DBGrid

1 TListColumn

Width = 250 Caption = Nvel

2 TListColumn

Width = 55 Alignment = taCenter

Agora nossas colunas estaro assim.

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

Delphi: Usando ListView como DBGrid

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

Delphi: Usando ListView como DBGrid

// 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

Delphi: Usando ListView como DBGrid

Abraos a todos e at proxima.

www.linhadecodigo.com.br/artigo/581/delphi-usando-listview-como-dbgrid.aspx

6/6