Delphi: Usando ListView como DBGrid
Autor: Jhonatan Felipe | Publicado: 2012-04-02T11:00:00-07:00

"Olhando no site linha de&nbsp;Código um outro&nbsp;ótimo&nbsp;site para&nbsp;Delphi, achei este tutorial&nbsp;então&nbsp;postei aqui para&nbsp;vocês&nbsp;pois achei muito interessante e funcional"





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 TabelaTabela users
Inclua alguns registros para teste.
Definindo um Data ModuleNo Delphi crie uma nova aplicação e em File-&gt;New-&gt;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 um SQLQuery. Faça as seguintes alterações nos componentes.
SQLConnection1Configure uma conexão MySQL.

Mude as Propriedades:

LoadParamOnConnect = True
LoginPrompt = False
Connected = True
SQLQuery1Name = 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 FormulárioNo form1 vamos incluir um ListView e ImageList (ambos da pagina Win32) . E mude as propriedades como mostrado abaixo.
ListView1GridLines = True
SmallImages = ImageList1
RowSelect = True
ViewStyle = vsReport
Clique duas no Listview e inclua três colunas. Conforme mostrado abaixo.Vamos muda as propriedades:
0 – TListColumnCaption = Login
Width = 150
1 – TListColumnCaption = Nome do Usuário
Width = 250
2 – TListColumnCaption = Nível
Width = 55
Alignment = taCenter
Agora nossas colunas estarão assim.Agora clique duas vezes no ImageList1 e escolha os ícones que serão exibidos.Vamos usar a imagem 0 para usuários com Nível igual A e a imagem 1 para usuários com Nível O.Criando o procedimentoAgora vamos criar o procedimento responsável por mostrar os dados da tabela no ListView.No editor de código na sessão public vamos declara o procedimento CriarLista e na sessão implementation adicione nosso Data Module (Modulo). Conforme mostrado abaixo.Agora vamos ao códigoprocedure TForm1.CriarLista;
var
ListItem: TListItem; // Criamos uma variável 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;

// 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 &gt; 0 then
Listview1.ItemIndex := 0;
end;Agora no Evento OnShow do formulário vamos acrescenta no procedimentoprocedure TForm1.FormShow(Sender: TObject);
begin
CriarLista;
end;Agora basta executa a aplicação para ver o resultado.Conclusão
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 aplicações.Abraços a todos e até proxima.
FONTE : Linha de Codigo