Boa noite!
Estou utilizando uma tela criada pela FWMarkBrowse com base em uma tabela temporária, criada com FWTemporaryTable.
A rotina funciona muito bem, executa as funções selecionadas dentro do esperado, porém, ao adicionar o campo legenda, o mesmo fica sempre no final das colunas, sempre sendo a última.
Fiz a criação da coluna normalmente, sendo:
oMarkBrow:AddLegend( "T_ST == 'A' ", "GREEN", "Ativo" )
oMarkBrow:AddLegend( "T_ST == 'B' ", "RED", "Bloqueado" )
A condição funciona perfeitamente bem, mostrando os ícones verde ou vermelho dependendo do caso.
Alguém sabe me dizer como ordenar estas colunas, ou simplesmente, como faço para que a coluna que mostra a LEGENDA possa ficar no começo?
Bom dia Rafael, você criou um index com o T_ST na FwTemporarytable? Acredito que se usar ela como index, ela vai posicionar a coluna como sendo a primaria,
— Douglas Bichir 27 de Aug de 2020Boa noite, Rafael! Poderia colocar a parte do código onde você instacia a classe FwMarkBrowse? Tive um problema similar uma vez e se não me engano para corrigir você precisa chamar o método AddLegend antes do AddColumns (ou AddFields).
— Giordano Trabach Xavier 27 de Aug de 2020Bom dia! Douglas, eu já havia criado índice na temporária e não funcionou. Deu certo sua sugestão Giordano, coloquei o AddLegend antes do SetColumns e agora aparece na frente. Muito obrigado!!
oMarkBrow:AddLegend( "T_ST == 'A' ", "GREEN", "Ativo" )
oMarkBrow:AddLegend( "T_ST == 'B' ", "RED", "Bloqueado" )
oMarkBrow:SetColumns(aCampos)......
— RAFAEL DE PAULA ARAUJO 28 de Aug de 2020