Fórum visualizar dados de uma tabela no listbox + delphi7 #410961
26/12/2011
0
boa noite a todos, estou precisando de uma ajuda com listbox. Já procurei muito na internet, o que encontro é mostrar um campo de uma tabela no listbox, selecionar um item no listbox. etc. etc.estou precisando do seguinte: tenho uma tabela com 15 campos, e preciso mostrar no listbox 5 campos, alguém pode me ajudar. Mostrar estes campos no dbgrid é facil, so que preciso que seja no listbox , e este é o problema. vamos dizer que na tabela tem 500 registro com 15 campos, eu preciso mostrar os 500 registros, porem somente dos 5 campos.obrigado desde já feliz ano novo a todos. geraldo leal
Geraldo Leal
Curtir tópico
+ 0Posts
26/12/2011
Joel Rodrigues
você precisa mostrar esses cinco campos lado a lado? Tipo fazer um grid no listbox?
Primeiro, deixe-me perguntar: isso é realmente necessário ou é a unica forma que você encontrou? Se preferir, compartilhe o problema, talvez possamos te ajudar.
Se você realmente precisa fazer assim, a unica forma que vejo é formatando o texto cada campo com uma largura específica, e isso geralmente só fica legal com certas fontes (tipo courrier e lucida console).
Pra isso, você lê todos os registros e monta um string com os cinco campos que precisa, onde cada campo tem uma largura fixa (você completa com espaços em branco) e adiciona ao listbox.
Se precisar de ajudar para fazer isso, é só avisar.
Abraço.
Gostei + 0
26/12/2011
Geraldo Leal
você precisa mostrar esses cinco campos lado a lado? Tipo fazer um grid no listbox?
Primeiro, deixe-me perguntar: isso é realmente necessário ou é a unica forma que você encontrou? Se preferir, compartilhe o problema, talvez possamos te ajudar.
Se você realmente precisa fazer assim, a unica forma que vejo é formatando o texto cada campo com uma largura específica, e isso geralmente só fica legal com certas fontes (tipo courrier e lucida console).
Pra isso, você lê todos os registros e monta um string com os cinco campos que precisa, onde cada campo tem uma largura fixa (você completa com espaços em branco) e adiciona ao listbox.
Se precisar de ajudar para fazer isso, é só avisar.
Abraço.
olá joel, obrigado pelo retorno, sim eu preciso que seja feito no listbox, e preciso que seja mostrado lado a lado, são numeros. veja o exemplo abaixo. 01 02 03 04 05 06 07 01 02 03 04 05 08 10 01 02 03 04 07 08 09 01 02 03 05 06 07 08 01 02 03 05 06 09 10 01 02 03 05 08 09 12 01 02 03 05 09 10 11 01 02 03 06 07 08 09 sim joel, preciso de ajuda para resolver isto, não consegui fazer não. meu banco tem vamos dizer como no exemplo. 10 campos. e preciso pegar estes 7 . cada linha é um registro. tipo linha 1 linha2 linha3 mais não precisa mostrar o numero da linha, somente os dados da linha. mais uma vez obrigado pela atenção sucesso geraldo leal
Gostei + 0
27/12/2011
Joel Rodrigues
Veja o exemplo abaixo.
Declarei a variável item do tipo string e montei ela da seguinte forma: 001 002 003 004 005 (fiz apenas com dois campos, mas é só seguir o raciocínio.
A quantidade de # e zeros na função FormatFloat indica o formato do número, no caso, ###000 indica que o número será formatado com três algarismos e sem casas decimais. Os números são separados por espaços.
var item:String begin with MinhaTabela do begin First(); while not Eof do begin item := ;//string vazio item := item + FormatFloat(###000, FieldByName(campo1).AsFloat)+ +FormatFloat(###000, FieldByName(campo2).AsFloat); meuListBox.Items.Add(item); Next(); end; end; end;
Qualquer dúvida, é só falar. Se preferir, pode me mandar um email: joelrlneto@gmail.com
Grande abraço.
Gostei + 0
28/12/2011
Geraldo Leal
procedure Tfrmnumeros.SpeedButton10Click( Sender: TObject); var item:String ; begin with IBQuery1 do begin first(); while not Eof do begin item := ;//string vazio item := item + FormatFloat(##00, FieldByName(bola1).AsFloat)+ + FormatFloat(##00, FieldByName(bola2).AsFloat) + + FormatFloat(##00, FieldByName(bola3).AsFloat)+ + FormatFloat(##00, FieldByName(bola4).AsFloat) + ; listapostas.Items.Add(item); Next(); end; end; end; ai joel, obrigado pela ajuda, consegui resolver tudo, fica ai para quem quiser e estiver precisando.abraços e sucesso, bom final de ano.pode fechar o post
Gostei + 0
28/12/2011
Geraldo Leal
procedure Tfrmnumeros.SpeedButton10Click( Sender: TObject); var item:String ; begin with IBQuery1 do begin first(); while not Eof do begin item := ;//string vazio item := item + FormatFloat(##00, FieldByName(bola1).AsFloat)+ + FormatFloat(##00, FieldByName(bola2).AsFloat) + + FormatFloat(##00, FieldByName(bola3).AsFloat)+ + FormatFloat(##00, FieldByName(bola4).AsFloat) + ; listapostas.Items.Add(item); Next(); end; end; end; ai joel, obrigado pela ajuda, consegui resolver tudo, fica ai para quem quiser e estiver precisando.abraços e sucesso, bom final de ano.pode fechar o post
tudo, mais uma vez obrigado
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)