Olá pessoal,
Alguém já conseguiu fazer um código no FWMarkbrowse que funcione quando o usuário dá dois cliques na coluna do campo OK, e fique gravado na tabela que foram marcados todos os registros que estão em aberto?
Eu fiz um filtro no FWMarkbrowse limitando a aparecer somente registros que ainda não foi importados. Quando eu clico em uma única linha o campo OK fica marcado, porém se eu der duplo clique na coluna para selecionar todos os registros nenhum registro OK fica marcado.
Boa noite Luciano!
Vc pode utilizar o método SetAllMark da classe FWMarkBrowse para isso.
Segue um exemplo bem simplório:
Private cMarca := GetMark()
...
oMark:= FWMarkBrowse():New()
oMark:SetDescription("TESTE")
oMark:SetAlias("SC1")
oMark:SetFieldMark("C1_OK")
oMark:SetMark(cMarca, "SC1", "C1_OK")
oMark:SetAllMark({|| U_AllMark()})
oMark:Activate()
...
User Function AllMark()
SC1->(DbGoTop())
While !SC1->(Eof())
lMarca := (SC1->C1_OK == cMarca)
RecLock("SC1", .F.)
SC1->C1_OK := If(lMarca, "", cMarca)
SC1->(MsUnlock())
SC1->(DbSkip())
EndDo
Return Nil
Obrigado Leonardo, funcionou perfeitamente. Grato.