Página 1 de 1
Solução pra cursor do tbrowse
Enviado: 29 Mar 2020 08:44
por JoséQuintas
Chega a ser ridícula a solução do tbrowse.
Até pensei em usar o que muitos usam, que é o SET CURSOR OFF, mas....
Problema:
O browse é temporário, KEYBOARD ESC pra sair fora, mas.... o cursor tá lá... parecendo que o browse ainda está ativo.
Solução:
Bem simples: ao encerrar o tbrowse, posiciona na mensagem.
Agora, só se procurar o cursor de propósito.
Solução pra cursor do tbrowse
Enviado: 29 Mar 2020 08:55
por JoséQuintas
E mais ainda...
Como modifiquei a rotina de browse, pra uso dessa forma
as cores não deixam dúvida
Nota:
Ok, já uso isso pra DBF faz tempo.
Mas é a primeira desse tipo pra uso com ADO.
Sempre detestei a idéia de usar SET CURSOR OFF.
Solução pra cursor do tbrowse
Enviado: 29 Mar 2020 09:03
por JoséQuintas
Aproveitando....
Pra DBF até hoje tenho duas rotinas básicas de browse:
- uma pra quando é pesquisa
- uma pra quando é desse tipo
Pra ADO, simplifiquei mais ainda:
Agora é uma única rotina de tbrowse.
A de pesquisa monta a parte gráfica e chama a rotina única.
No caso desse tipo, é diretamente a rotina única, sem parte gráfica.
Nota:
Não me preocupei com isso, mas com ADO facilita se quiser adicionar scrollbars indicando posição atual.
Solução pra cursor do tbrowse
Enviado: 29 Mar 2020 09:09
por JoséQuintas
Como resolvi a questão de atualizar o browse:
Código: Selecionar todos
WITH OBJECT cnSQLBrowse
:cSQL := "SELECT JPMDFDET.*, JPCADASTRO.CDNOME" + ;
" FROM JPMDFDET" + ;
" LEFT JOIN JPCADASTRO ON JPCADASTRO.IDCADASTRO = JPMDFDET.MDCLIENTE" + ;
" WHERE MDMDFNUM = " + NumberSQL( mIdMdfCab )
:Execute()
BrowseADORC( nRowTBrowse, 0, MaxRow() - 3, MaxCol(), @cnSQLBrowse, oTBrowse,,,{ || DigMdf( @cnSQLBrowse, midMdfCab ) } )
:CloseRecordset()
ENDWITH
simples, re-executar o comando de pesquisa
Código: Selecionar todos
STATIC FUNCTION DigMDF( cnSQLBrowse, midMdfCab )
...
cnSQLBrowse:CloseRecordset()
cnSQLBrowse:Execute()
Lembrando:
Neste caso se trata de notas fiscais do manifesto, mas poderiam ser produtos de um pedido.
Re-executar o comando é extremamente rápido.
Na pesquisa geral isso não existe (apesar que abre novas possibilidades).
Solução pra cursor do tbrowse
Enviado: 29 Mar 2020 09:30
por JoséQuintas
BrowseADORC() é a com linha/coluna pra essas situações.
BrowseADO() é a de pesquisa
BrowseADO() cria a parte gráfica acima, e repassa o controle pra BrowseADORC()