StringGrind?????? Naum tem nada melhor????

06/03/2003

0

Oi galera!!!

Estou com um probleminha que pode ateh ser meio idiota... Porem... eh sempre
bom trocar uma ideia com o pessoal que entende mais do assunto...

Estou com o seguinte problema...
tenho uma tabela chamada compras, que tem uma chave primaria codigo
ok...
soh que tenho tambem uma tabela chamada itens (onde deve conter a descrição
de todos os itens de cada compra gravada na tabela compras), nesta tabela
tambem ha um campo codigo, que naum passa de uma chave estrangeira (o mesmo
codigo da tabela compras).

Meu problema é descobrir que componente seria mais adequado à adição dos
itens de uma compra todos à tabela itens de maneira que eu possa adicionar
um a um a uma lista que fique na tela e soh seja gravada na tabela depois de
terem sido gravados todos os dados de uma compra.

Achei que o StringGrid fosse adequado, porém naum consegui fazer com que as
linhas fossem aumentando conforme fossem adicionados novos itens... tb naum
consegui fazer com que uma celula deste componente fosse preenchida com o
valor de text de uma editbox... e nem tãopouco consegui fazer que o nome dos
campos aparecesse acima das colunas... em suma... naum consegi fazer
praticamente nada com este componente...

Acho que ateh conseguiria fazer isto com um DbGrid... O Problema eh que ele
vai gravando conforme eu saio de uma celula, naum eh?

Deve haver algum componente mais adequado no delphi para fazer este tipo de
coisas... mas qual?

Valeu!

Tiago Farinon


Anonymous

Anonymous

Responder

Posts

06/03/2003

Anonymous

ESPERO QUE DE PARA TE AJUDAR EM ALGUMA COISA CASO NÃO CONSIGA ENTENDER DEIXE SEU E-MAIL QUE EU TE MANDO UM EXEMPLO COMPLETO PARA VC USAR

NO COMPONENTE STRINGGRID PARA VC INSERIR OS NOMES DA COLUNA O IDEAL É QUE VC FIXE UMA LINHA PARA ISSO VA NA PROPRIEDADE : FIXEDROWS E COLOQUE UM E NO ENVENTO ONSHOW DO FORMULÁRIO VC PODE COLOCAR O SEQUINTE CODIGO:

EXEMPLO:

STRINGGRID.Cells[0,0] := ´CODIGO´;
STRINGGRID.Cells[1,0] := ´DESCRICAO´;
STRINGGRID.Cells[2,0] := ´QUANTIDADE´;

PARA INSERIR NO STRINGGRID OS CAMPOS DO EDIT VC PODE FAZER POR EXEMPLO ASSIM:

SUPONDO QUE VC SEMPRE ADICIONARA UMA NOVA LINHA AO CLICAR EM INSERIR POR EXEMPLO: POR ISSO O COMANDO ROWCOUNT -1 E QUE O NÚMERO DE LINHAS COMEÇE COM DOIS

STRINGGRID.Cells[0,STRINGGRID.RowCount - 1] := edt_CODIGO.Text;
STRINGGRID.Cells[1,STRINGGRID.RowCount - 1] := DESCRICAO.Text;
STRINGGRID.Cells[2,STRINGGRID.RowCount - 1] := QUANTIDADE.Text;

STRINGGRID.RowCount := STRINGGRID.RowCount + 1; -->ESTE COMANDO É PARA ADICIONAR UMA NOVA LINHA


Responder

07/03/2003

Anonymous

Não se complique, use DBGrid sim, com ClientDataSet (q mantem os registros postados em memória).


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