Fórum grid sem post ou string grid bloquear #239356
23/06/2004
0
glz, seguinte to trabalhando com uma tabela venda com itens da venda....no itens da venda tem um dbgrid onde o usuario digita os itens daquela venda....o problema é o seguinte por padrão o dbgrid dá um post quando pulo de linha....tem como mandar ele não dar post....dar apenas um insert e ficar em buffer, esperando o cara clicar em fechar venda e colocar tdo que tava no buffer de uma vez só na minha tabela....
oque seria melhor continuar com grid ou usar stringgrid....o problema que com o stringgrid...não consegui tipo bloquear um campo para edição...ou dou readonly no stringrid inteiro ou nada....vcs saberiam me informar qual seria a melhor maneira....visto que estou pensando bem....tb no caso de falta de energia........
oque seria melhor continuar com grid ou usar stringgrid....o problema que com o stringgrid...não consegui tipo bloquear um campo para edição...ou dou readonly no stringrid inteiro ou nada....vcs saberiam me informar qual seria a melhor maneira....visto que estou pensando bem....tb no caso de falta de energia........
Delphi_open
Curtir tópico
+ 0
Responder
Posts
23/06/2004
Thematrix:reloaded
Vc não informou o banco de dados que vc usa...
Se vc usa Piradoidox, o ideal seria vc obter um conjunto de componentes chamado RxLib, nele tem um componente chamado RxMemoryData, ele simula uma tabela em memória, assim vc pode popular essa tabela, editá-la em um DBGrid, e em um evento tipo GRAVAR, vc lê esta tabela temporária e efetivar a gravação na tabela do Piradoidox.
Se vc usa Interbase com componentes da paleta interbase IBUpdate, IBQuery, IBDatabase e IBTransaction, vc pode deixar a IBQuery como LiveUpdate = false (acho que é isso), e no evento GRAVAR vc apenas dá um IBTransaction.CommitRetaining, e num evento CANCELAR vc dá IBTransaction.RollbackRetaining;
ok?
Se vc usa Piradoidox, o ideal seria vc obter um conjunto de componentes chamado RxLib, nele tem um componente chamado RxMemoryData, ele simula uma tabela em memória, assim vc pode popular essa tabela, editá-la em um DBGrid, e em um evento tipo GRAVAR, vc lê esta tabela temporária e efetivar a gravação na tabela do Piradoidox.
Se vc usa Interbase com componentes da paleta interbase IBUpdate, IBQuery, IBDatabase e IBTransaction, vc pode deixar a IBQuery como LiveUpdate = false (acho que é isso), e no evento GRAVAR vc apenas dá um IBTransaction.CommitRetaining, e num evento CANCELAR vc dá IBTransaction.RollbackRetaining;
ok?
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)