Seguindo o mesmo exemplo postado em Criando tela em MVC separando por grupos e inserindo novos botões, iremos mostrar como inserir legendas e filtro para ser exibido no Browse. Para o uso de legendas no Browse utilizamos o método AddLegend, que possui a seguinte sintaxe:
AddLegend( <cRegra>, <cCor>, <cDescrição> )Exemplo:
//LEGENDA oBrowse:AddLegend( "ZZ8->ZZ8_BLQ==' ' .OR. ZZ8->ZZ8_BLQ=='2'", "GREEN") oBrowse:AddLegend( "ZZ8->ZZ8_BLQ=='1'", "RED")Ou seja, para os registros que estiverem com o conteúdo vazio ou 2 no campo ZZ8_BLQ, ficaram como verde, pois o numero 2 = Não, e todos os registros que tiverem o conteúdo com 1, significa Sim. cRegra: é a expressão em AdvPL para definir a legenda. cCor : é o parâmetro que define a cor de cada item da legenda. São possíveis os seguintes valores:
SetFilterDefault ( <filtro> )Exemplo para filtrar apenas os registros não bloqueados:
//Adiciona um filtro ao browse oBrowse:SetFilterDefault( "ZZ8->ZZ8_BLQ==' ' .OR. ZZ8->ZZ8_BLQ=='2'" )É possível também incluir no filtro, funções, variáveis e macros.
//1 oBrowse:SetFilterDefault( "FNM_CODSOL == '" + cCodUsr + "' .Or. FNM_CODAPR == '" + cCodUsr + "'" ) //2 If !Empty( cFiltro ) oBrowse:SetFilterDefault( cFiltro ) EndIf //3 oBrowse:SetFilterDefault("@"+DLA150Qry()) //4 oBrowse:SetFilterDefault('C5_STATUS $ "7|8"') //5 oBrowse:SetFilterDefault("")A expressão de filtro é em AdvPL. O filtro definido na aplicação não anula a possibilidade do usuário fazer seus próprios filtros. Os filtros feitos pelo usuário serão aplicados em conjunto com o definido na aplicação (condição de AND). Observação O filtro da aplicação não poderá ser desabilitado pelo usuário