Dúvida no listbox ou listview?

24/09/2009

0

Olá pessoal, uso delphi 7 e interbase 6.0 e já procurei todo forum e não achei nada que me ajude.

eu não sei qual componente devo usar (lisbox ou listview) para ficar desse jeito, segue abaixo:

Local 002
2,00 descricao 32,56
3,55 descricao2 100,00

Porém quero que o tamanho das colunas sejam já definidas, porem se o campo descricao for grande, mostre cortado mas quando clicar em cima dele mostrar no edit a descricao completa ex: a descricao é ´eu quero aprender´

3,55 eu quero a 35,00

e no edit ao clicar nessa linha mostre assim: ´eu quero aprender 35,00´


Tecnofine

Tecnofine

Responder

Posts

24/09/2009

Osocram

o listview como o proprio nome diz, serve p listar visões... ele é praticamente um DBGrid so que sem estar ligado a um banco.
Tem que fazer tudo no braço...

Mas acho mais interessante do que o ListBox nesse caso.

ListBox - Eu aconselho a usar qdo se tem apenas uma lista simpes, não precisa mexer com ela...

ListView tem mtos recursos. Bom para listagens com colunas (igual o windows explorer, o lado direito onde aparece os diretorios, arquivos, e vc pode trocar o tipo de visualização, isso tudo da p fazer com o ListView)


Responder

24/09/2009

Tecnofine

Caro osocram, consegui fazer usando o componente listview como voce mesmo disse, ele não trabalha com banco de dados....
Por isso surgiu uma outra dúvida....
Tenho três botoes para cada botao que eu clico aparece algo diferente no listview, eu quero saber se tem como ele ficar gravado determinado tipo de dados pois se eu clicar no outro botao e voltar a clicar o botao anterior ele aparecerá os mesmos dados que tava antes?


Responder

24/09/2009

Osocram

Não entendi.

poderia exemplificar os codigos dos botões?


Responder

24/09/2009

Tecnofine

Explicarei melhor com exemplos:

Tenho uma tela de três botoes (b1, b2, b3)...

Se eu clicar no b1
no listview mostrara assim
[color=red:465d800a33][color=darkred]2,34 b1 23,34
12 desc 30,00[/color:465d800a33][/color]

Depois eu clico no botao b2
no listview estara assim
8,00 b2asd 12,63
12,74 asdas 45,00

Aí eu clico novamente no botao b1
ele precisará mostrar os mesmos dados de cima em vermelho
2,34 b1 23,34
12 desc 30,00

É como se ele gravasse os dados...no entanto acho que precisa gravar, pois se eu sair do sistema e voltar gostaria que esses dados aparecesse novamente...


Responder

24/09/2009

Tecnofine

Explicarei melhor com exemplos: é como se fosse um controle de mesas

Tenho uma tela de três botoes (b1, b2, b3)...

Se eu clicar no b1
no listview mostrara assim
[color=red:0acf0f32b0][color=darkred]2,34 b1 23,34
12 desc 30,00[/color:0acf0f32b0][/color]

Depois eu clico no botao b2
no listview estara assim
8,00 b2asd 12,63
12,74 asdas 45,00

Aí eu clico novamente no botao b1
ele precisará mostrar os mesmos dados de cima em vermelho
2,34 b1 23,34
12 desc 30,00

É como se ele gravasse os dados...no entanto acho que precisa gravar, pois se eu sair do sistema e voltar gostaria que esses dados aparecesse novamente...


Responder

24/09/2009

Osocram

Se eu entendi direito..
qdo apertar b1 tem que aprecer os dados x,y
e qdo apertar b2 tem que aprecer os dados a,b

e apertando novamente o botão b1 deveria aparecer novamente os dados x,y?

É isso?

Bom.. como eu disse tanto o ListView qto o ListBox não são ligados no banco, isso quer dizer vc tem que colocar os dados neles.

Acho que faltou vc mandar limpar o ListView no inicio do b1 e do b2.

Se vc quer persistir os dados... ou vc usa um componente ligado ao banco ou vc inclui no braço qdo der um OnShow do formulario.


Responder

24/09/2009

Tecnofine

Explicarei melhor com exemplos: é como se fosse um controle de mesas

Tenho uma tela de três botoes (b1, b2, b3)...

Se eu clicar no b1
no listview mostrara assim
[color=red:1280081ad3]2,34 b1 23,34
12 desc 30,00[/color:1280081ad3]

Depois eu clico no botao b2
no listview estara assim
8,00 b2asd 12,63
12,74 asdas 45,00

Aí eu clico novamente no botao b1
ele precisará mostrar os mesmos dados de cima em vermelho
2,34 b1 23,34
12 desc 30,00

É como se ele gravasse os dados...no entanto acho que precisa gravar, pois se eu sair do sistema e voltar gostaria que esses dados aparecesse novamente...


Responder

24/09/2009

Tecnofine

Desculpe, mandei duas vezes a resposta...rsrs

Então os codigos que uso para adicionar no list view é esse:

[i:b401976391]procedure TForm1.BitBtn1Click(Sender: TObject);
var
ListItem: TListItem;
soma : real ;
valor : real ;
i : integer ;
begin
ListItem := ListView1.Items.Add ;
ListItem.caption := edit1.text ;
ListItem.SubItems.Add(edit2.text) ;
ListItem.subitems.Add(edit3.text) ;
valor := strtofloat(edit4.Text) ;
ListItem.subitems.Add(formatfloat(´#,,0.00´,valor)) ;
end;[/i:b401976391]

Como que eu adapto ele para dblistbox (esse é para banco de dados, certo?). E tipo de campo deve gravar com ele?

Obrigada mais uma vez pela atenção...


Responder

24/09/2009

Osocram

As vezes ao mandar enviar da erro.... mas manda.
XD

Sobre o seu problema tenta fazer isso logo depois do begin.

ListView1.Items.Clear;


Sobre usar o banco de dados.. vc ja tem esses dados no banco?
Pois se for usar direto com o banco seria melhor usar um DBGrid.


Responder

24/09/2009

Tecnofine

Então pensei no dbgrid, só que como eu uso os dbedits e dbgrid na mesma tabela e conforme eu vou preenchendo os dbedits, o dbgrid tbm preenche ao mesmo tempo.
Eu não queria isso...se tiver um jeito de preencher os dados nos dbedits, confirmo os dados e depois incluo no dbgrid, por favor passa o codigo para mim, pois assim facilitaria muito
Obrigada


Responder

25/09/2009

Osocram

Ola, tecnofine.

Para falar a verdade essa é uma situação nova p mim.

Bom pelo DBGrid não tem como fazer isso... pois ele é um componente DBWare, então ao adicionar ou editar um registro no dataset ja aparece no dbgrid.

Dae a solução seria vc tragar com ListView, mas vc teria que fazer todos os tratamentos no braço.

Talvez discutir essa tarefa com seu superior ou cliente. Se isso é realmente necessario, de so aparecer no dbgrid apos ter mexido nos dbedit.

Se quiser trocar uma ideia... me add no msn.
flw.


Responder

24/04/2018

Antonio Crovador

Bom dia Amigos,
Peço humildemente ajuda de vocês para com a planilha,
tenho duas listview mas só consigo gravar uma em meu banco de dados, e preciso que grave os dados das duas listview, alguém pode ajudar-me?



Deus abençoe por ajudar a todos....

aguardo ajuda amigos....help
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar