[Delphi] Usando ListView como DBGrid.pdf
-
Upload
lucio-mathias -
Category
Documents
-
view
253 -
download
4
Transcript of [Delphi] Usando ListView como DBGrid.pdf
-
07/08/13 Delphi: Usando ListView como DBGrid
www.linhadecodigo.com.br/artigo/581/delphi-usando-listview-como-dbgrid.aspx 1/6
Delphi: Usando ListView como DBGridNeste artigo irei mostrar uma tcnica muito simples de como usar um Listview para exibir dados de uma tabela.
por Walbert Castro
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:
018 9 1 2
-
07/08/13 Delphi: Usando ListView como DBGrid
www.linhadecodigo.com.br/artigo/581/delphi-usando-listview-como-dbgrid.aspx 2/6
SQLConnection1 LoadParamOnConnect = True
LoginPrompt = False
Connected = True
SQLQuery1
Name = SqUsers
SQLConnection = SQLConnection1
SQL = select * from users order by
login
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.
ListView1
GridLines = True
SmallImages = ImageList1
RowSelect = True
ViewStyle = vsReport
Clique duas no Listview e inclua trs colunas. Conforme mostrado abaixo.
Vamos muda as propriedades:
0 TListColumn
Caption = Login
Width = 150
Caption = Nome do Usurio
-
07/08/13 Delphi: Usando ListView como DBGrid
www.linhadecodigo.com.br/artigo/581/delphi-usando-listview-como-dbgrid.aspx 3/6
1 TListColumn Width = 250
2 TListColumn
Caption = Nvel
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.
-
07/08/13 Delphi: Usando ListView como DBGrid
www.linhadecodigo.com.br/artigo/581/delphi-usando-listview-como-dbgrid.aspx 4/6
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;
-
07/08/13 Delphi: Usando ListView como DBGrid
www.linhadecodigo.com.br/artigo/581/delphi-usando-listview-como-dbgrid.aspx 5/6
// 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.
-
07/08/13 Delphi: Usando ListView como DBGrid
www.linhadecodigo.com.br/artigo/581/delphi-usando-listview-como-dbgrid.aspx 6/6
Abraos a todos e at proxima.