Página 1 de 1
Problemas na Grid
Enviado: 20 Jan 2014 12:42
por jjr_rs
Olá pessoal,
Estou com um problema ao utilizar uma grid em um form...
O que acontece: Nesta grid, ao selecionar uma linha e clicar sobre ela, eu chamo outro form.
Ao finalizar o uso deste form eu fecho ele com o "form_xxx.release", voltando assim para o form anterior onde está a grid, atualizando-a.
Neste momento, caso eu não feche esse form e o reabra, a grid perde a possibilidade de utilizar o mouse para selecionar qualquer outra linha que eu queira, ele simplesmente não funciona sobre ela, assim se eu quiser realizar qualquer operação nesta grid, apenas conseguirei utilizando os botões de navegação do teclado e o Enter.
Algum dos amigos já passou por isso ? O que posso estar fazendo de errado ?
Desde já agradeço qualquer ajuda!
Obrigado !
Problemas na Grid
Enviado: 24 Jan 2014 13:05
por Bettu
Olá pessoal,
Primeiro gostaria de agradecer o tempo que vocês dedicam, é de grande ajuda para quem esta nos primeiros passos e lutando com o harbour, o fórum me ajudou bastante!
Agora estou com uma dúvida sob o grid, eu estou acessando diretamente no banco de dados, já estudei os exemplos do samples, e até baixei alguns programinhas que vocês colocaram, mas minha dúvida é: existe um número máximo de campos para o grid, já que quando coloco todos os campos (que são 20, um de 44 caracteres, e vários numéricos 13:2, quando vou gravar (wform.gridpp.save), se colocar todos os campos me da um error: Error DBFNTX-1020 Tipo incorreto de dado: VL_SERV (que é um campo numerico), agora se deixo em vez dos 20, só 5 campos e coloco o campo que dava o erro, grava o grid sem problema.
Pode ser que seja um problema de memória?
Muito obrigada, por todos os post que vocês fazem.
Aguardo ajuda!
Problemas na Grid
Enviado: 27 Jan 2014 09:25
por Bettu
Olá pessoal, segui fazendo provas para descobrir o que é o erro:
Error DBFNTX/1020 Tipo incorreto de dado: VL_SER
Para isso, eu fui acrescentando de a 2 os campos para ver desde onde começava o erro, e o que percebi que o problema esta no formato, por exemplo: quando eu deixei só 12 campos, e como último campo numérico o de 6:2 (6 inteiros,2dec) no deu erro:
Código: Selecionar todos
Function grid_C500_colctrls()
Local aColumnControls
aColumnControls := { {'TEXTBOX','CHARACTER'} ,;
{'TEXTBOX','CHARACTER'} ,;
{'TEXTBOX','CHARACTER'} ,;
{'TEXTBOX','NUMERIC','999999999'} ,;
{'TEXTBOX','CHARACTER'},;
{'TEXTBOX','CHARACTER'},;
{'TEXTBOX','CHARACTER'},;
{'TEXTBOX','CHARACTER'},;
{'TEXTBOX','NUMERIC','9999999999.99'} ,;
{'TEXTBOX','NUMERIC','9999999999.99'} ,;
{'TEXTBOX','NUMERIC','9999999999.99'} ,;
{'TEXTBOX','NUMERIC','999.99'} }
return aColumnControls
o usuário não podia acrescentar mais dígitos dos que correspondiam para cada campo, depois continuei acrescentando mais campos
Código: Selecionar todos
Function grid_C500_colctrls()
Local aColumnControls
aColumnControls := { {'TEXTBOX','CHARACTER'} ,;
{'TEXTBOX','CHARACTER'} ,;
{'TEXTBOX','CHARACTER'} ,;
{'TEXTBOX','NUMERIC','999999999'} ,;
{'TEXTBOX','CHARACTER'},;
{'TEXTBOX','CHARACTER'},;
{'TEXTBOX','CHARACTER'},;
{'TEXTBOX','CHARACTER'},;
{'TEXTBOX','NUMERIC','9999999999.99'} ,;
{'TEXTBOX','NUMERIC','9999999999.99'} ,;
{'TEXTBOX','NUMERIC','9999999999.99'} ,;
{'TEXTBOX','NUMERIC','999.99'},;
{'TEXTBOX','NUMERIC','9999999999.99'} ,;
{'TEXTBOX','NUMERIC','9999999999.99'} }
return aColumnControls
E aí o programa deixa que o usuário no campo 12, em vez de continuar como no primeiro exemplo deixando que complete só (6:2), agora deixa que complete como os outros campos numéricos (13:2), existe alguma propriedade ou comando para controlar isso? já que me tinha acontecido o mesmo com um campo caracter de 40 dig, que logo de acrescentar outros campos numéricos, em vez de pedir como se fosse carater, passou a pedir como se fosse numérico, tomando o formato do seguinte campo.
Desde já obrigada pela ajuda!
Problemas na Grid
Enviado: 28 Jan 2014 18:50
por Toledo
Olá Bettu, seria possível enviar um código mais completo e com o banco de dados para que possamos fazer um teste? De preferência um código que possa ser compilado.
Abraços,
Problemas na Grid
Enviado: 30 Jan 2014 18:32
por Bettu
Olá Toledo, desde já muito obrigada pela sua colaboração. Eu estou reescrevendo em harbour, um programa que foi feito em clipper.
Para fazer o teste, tem que ir a: Analisar – Editar dados – F9 (você vai ver que não muda nenhum formato dos campos) e vai controlando a quantidade máxima de cada um, se você escolher F10 (você vai ver que o sistema deixa preencher o campo % ICMS com mais de 3 inteiros) e escolhendo do Menú - Esc – Gravar e Sair da o error.
Eu sei que ainda me falta bastante para saber programar bem, e tenho que melhorar o sistema, como por exemplo não pedir no grid o fornecedor, já que esta em outra dbf.
Por favor, além de ver o que me esta faltando que produz o erro, se puder me passar algumas sugestões para melhorar a programação, para mim seria muito importante.
Muito obrigada pela ajuda!
Bettu
Problemas na Grid
Enviado: 30 Jan 2014 21:52
por Toledo
Ola Bettu, executei aqui o EXE que estava no arquivo que você anexou na mensagem anterior e segui as suas instruções. O preenchimento do campo "% ICMS" só aceitou o formato 999.99, não consegui digitar mais do que 3 inteiros... e ao escolher a opção "ESC - Gravar e Sair" no menu, não ocorreu qualquer erro, o registro foi gravado corretamente, veja imagem abaixo:
Abraços,
Problemas na Grid
Enviado: 31 Jan 2014 07:08
por Bettu
Ola, bom dia!
Como será que pode acontecer, eu posso ingressar mais dígitos e quando salvo desde Menú Serviços Públicos - ESC - Gravar e Sair, aparece a mensagem de erro.

- Telas com o erro
Muito obrigada pelo interesse.
Problemas na Grid
Enviado: 31 Jan 2014 09:55
por Toledo
Amigo, muito estranho isto... voltei a fazer um novo teste com o mesmo EXE que você me enviou, e tudo normal, não consegui digitar mais de 3 inteiros no campo % ICMS e os registros são gravados corretamente, sem qualquer mensagem de erro.
Você também está executando o mesmo EXE e o mesmos arquivos DBF que você me enviou?
Qual é o seu ambiente de trabalho?
Aqui executei em um Windows XP Professional SP2 e também no Windows 8 Pro, todos 32Bits.
Abraços,
Problemas na Grid
Enviado: 31 Jan 2014 16:40
por Bettu
Os dados são os mesmos, mas eu fiz os testes em dois computadores que tem windows 7 e SO de 32bits, e quando seleciono Serviço full me deixa preencher até 13digitos. Consegui fazer o teste em um computador com windows xp e acontece o mesmo.
Fazendo outros testes percebi que quando avanço com TAB me deixa sempre preencher os 13 digitos, mas quando dou enter, as vezes controla e as vezes não.
Mas quando vou editar o campo, por exemplo, continuo completando dados e volto para %ICMS, e dou enter aí sempre me controla que sejam só 3 inteiros.
De novo, obrigada pela sua atenção