PERGUNTAS E RESPOSTAS
 
Bem Vindo, Visitante  Todos os Fórums
  ADVPL
Enviar para a impressoraImprimir  Enviar e-mail para um amigoEnviar Para um Amigo
Precisa estar Logado

Subject Assunto:
MVC - Legenda na Grid (Itens)
Versão:
11
Plataforma:
Microsoft
Complemento:
DB:
SQL Server
Complemento:
TREIN03.PRW (anexo)
LinkedIn
Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário CARVALHO_X CARVALHO_X em 27/08/2013, 17:54 h
Local: SP  Registro: 27/08/2013  Postagens: 1
Boa tarde membros do Help Fácil.

Preciso de ajuda para incluir as "bolinhas de legenda" em uma Grid utilizando MVC.

Na Browser é fácil, é só usar o (AddLegend) tem vários materiais mostrando como se faz. Porém, já pesquisei bastante e fiz várias tentativas e ainda não achei nenhum jeito de colocar essa legenda na Grid (Itens).

Alguém sabe como fazer isso utilizando MVC?

Valeu.

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário MCH MCH em 15/04/2015, 16:48 h
Local: SP  Registro: 18/05/2010  Postagens: 44
Boa tarde!

Sei que já faz um tempo seu post, mas estou precisando da mesma coisa.

Você conseguiu descobrir como fazer isso?

Obrigada!

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário MCH MCH em 15/04/2015, 16:49 h
Local: SP  Registro: 18/05/2010  Postagens: 44
Boa tarde!

Sei que já faz um tempo seu post, mas estou precisando da mesma coisa.

Você conseguiu descobrir como fazer isso?

Obrigada!

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário RBGALO RBGALO em 15/04/2015, 21:57 h
Local: MG  Registro: 07/06/2013  Postagens: 15
Boa noite,

você pode definir no MenuDef e criar a função.

ADD OPTION aRotina TITLE "Legenda" ACTION "U_LEGEN()" OPERATION 9 ACCESS 0
.
.
.
User Function LEGEN()
     
     Local aLegenda := {}
     aAdd( aLegenda, { "BR_VERDE"      ,      "Aberto" })
     aAdd( aLegenda, { "BR_VERMELHO" ,      "Fechamento Efetuado" })
     aAdd( aLegenda, { "BR_AZUL"      ,      "Medição Efetuada" })

     BrwLegenda( cCadastro, "Legenda", aLegenda )

Return Nil


Att,

--
Rafael Bueno Galo

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário MCH MCH em 16/04/2015, 08:24 h
Local: SP  Registro: 18/05/2010  Postagens: 44
Bom dia!

Então Rafael, mas nesse caso, seria a legenda no Browse né?

O que estou precisando é na grid.

Tenho uma rotina que tem os campos no cabeçalho e uma grid. Nessa grid, eu tenho um status nas linhas e queria colocar as legendas nessa grid.

Será que isso é possível?

Obrigada!

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário TEMESIO TEMESIO em 16/04/2015, 11:35 h
Local: SP  Registro: 11/03/2014  Postagens: 28
Em sua user function vc instancia a sua View e aplicas as propriedades do seu Browse.

oBrowse := FWMBrowse():New()

oBrowse:SetAlias(‘ZZB‘)

oBrowse:AddLegend( "ZZB_TIPO==‘1‘", "YELLOW", "Autor" )
oBrowse:AddLegend( "ZZB_TIPO==‘2‘", "BLUE" , "Interprete" )

oBrowse:SetDescription(‘Cadastro de Teste‘)

oBrowse:DisableDetails()

oBrowse:Activate()


Att.,
Jow


Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário TEMESIO TEMESIO em 16/04/2015, 11:53 h
Local: SP  Registro: 11/03/2014  Postagens: 28
Desculpe a minha falta de leitura, não li o seu ultimo post ! No exemplo encima é para colocar no Browser ! Esse aqui adiciona na Grid:

User Function COMP025_MVC()
Private oMark

// Instanciamento do classe
oMark := FWMarkBrowse():New()

// Definição da tabela a ser utilizada
oMark:SetAlias(‘ZA0‘)

// Define se utiliza controle de marcação exclusiva do oMark:SetSemaphore(.T.)

// Define a titulo do browse de marcacao
oMark:SetDescription(‘Seleção do Cadastro de Autor/Interprete‘)

// Define o campo que sera utilizado para a marcação
oMark:SetFieldMark( ‘ZA0_OK‘ )

// Define a legenda
72 - AdvPl utilizando MVC

oMark:AddLegend( "ZA0_TIPO==‘1‘", "YELLOW", "Autor"       )
oMark:AddLegend( "ZA0_TIPO==‘2‘", "BLUE" , "Interprete" )

// Definição do filtro de aplicacao
oMark:SetFilterDefault( "ZA0_TIPO==‘1‘" )

// Ativacao da classe
oMark:Activate()

Return NIL

//-------------------------------------------------------------------
Static Function MenuDef()
Local aRotina := {}

ADD OPTION aRotina TITLE ‘Visualizar‘ ACTION ‘VIEWDEF.COMP025_MVC‘ OPERATION 2 ACCESS 0
ADD OPTION aRotina TITLE ‘Processar‘ ACTION ‘U_COMP25PROC()‘      OPERATION 2 ACCESS 0

Return aRotina

//-------------------------------------------------------------------
Static Function ModelDef()
// Utilizando um model que ja existe em outra aplicacao
Return FWLoadModel( ‘COMP011_MVC‘ )

//-------------------------------------------------------------------
Static Function ViewDef()
// Utilizando uma View que ja existe em outra aplicacao
Return FWLoadView( ‘COMP011_MVC‘ )

//-------------------------------------------------------------------
User Function COMP25PROC()
Local aArea    := GetArea()
Local cMarca   := oMark:Mark()
Local nCt      := 0
ZA0->( dbGoTop() )
While !ZA0->( EOF() )
If oMark:IsMark(cMarca)
nCt++
EndIf

AdvPl utilizando MVC - 73

ZA0->( dbSkip() )
End

ApMsgInfo( ‘Foram marcados ‘ + AllTrim( Str( nCt ) ) + ‘ registros.‘ )
RestArea( aArea )

Return NIL


Att.,
Jow

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário MCH MCH em 16/04/2015, 12:08 h
Local: SP  Registro: 18/05/2010  Postagens: 44
Então, mas nesse caso seria uma markbrowse correto?

Estou fazendo uma grid (como a msgetdados), sem opção de marcar, só no esquema de addgrid mesmo.

Comecei a trabalhar com mvc agora, não sei se é possível.

Obrigada!

Mary

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário FA6RICIO FA6RICIO em 14/01/2019, 16:12 h
Local: DF  Registro: 02/02/2010  Postagens: 9
Consegui fazer, faz da seguinte forma no model você tem que criar um campo virtual do tipo imagem para receber a legenda depois vc tem que o criar no view também segue abaixo exemplo

No model antes de addgrid você adiciona um campo virtual na variável de estrutura da tabela desta forma, é nesta declaração, posição 11 o darray, que colocamos a regra para a legenda

     oStruSE1:AddField( ;
                        AllTrim('') , ;               // [01] C Titulo do campo
                        AllTrim('') , ;               // [02] C ToolTip do campo
                        'E1_LEGEND' , ;               // [03] C identificador (ID) do Field
                        'C' , ;                     // [04] C Tipo do campo
                        50 , ;                      // [05] N Tamanho do campo
                        0 , ;                      // [06] N Decimal do campo
                        NIL , ;                     // [07] B Code-block de validação do campo
                        NIL , ;                     // [08] B Code-block de validação When do campo
                        NIL , ;                     // [09] A Lista de valores permitido do campo
                        NIL , ;                     // [10] L Indica se o campo tem preenchimento obrigatório
                        { || Iif(SE1->E1_SALDO <> SE1->E1_VALOR, "BR_VERMELHO","BR_VERDE") } , ;           // [11] B Code-block de inicializacao do campo
                        NIL , ;                     // [12] L Indica se trata de um campo chave
                        NIL , ;                     // [13] L Indica se o campo pode receber valor em uma operação de update.
                        .T. )                      // [14] L Indica se o campo é virtual



Depois no grid você cria o campo antes de vincular a estancia do grid a do model da seguinte forma

     oStruSE1:AddField( ;                      // Ord. Tipo Desc.
     'E1_LEGEND'                        , ;        // [01] C   Nome do Campo
     "00"                             , ;     // [02] C   Ordem
     AllTrim( ''    )        , ;     // [03] C   Titulo do campo
     AllTrim( '' )       , ;     // [04] C   Descricao do campo
     { 'Legenda' }           , ;     // [05] A   Array com Help
     'C'                             , ;     // [06] C   Tipo do campo
     '@BMP'               , ;     // [07] C   Picture
     NIL                             , ;     // [08] B   Bloco de Picture Var
     ''                             , ;     // [09] C   Consulta F3
     .T.                             , ;     // [10] L   Indica se o campo é alteravel
     NIL                             , ;     // [11] C   Pasta do campo
     NIL                             , ;     // [12] C   Agrupamento do campo
     NIL                                        , ;     // [13] A   Lista de valores permitido do campo (Combo)
     NIL                             , ;     // [14] N   Tamanho maximo da maior opção do combo
     NIL                             , ;     // [15] C   Inicializador de Browse
     .T.                             , ;     // [16] L   Indica se o campo é virtual
     NIL                             , ;     // [17] C   Picture Variavel
     NIL                             )       // [18] L   Indica pulo de linha após o campo


Estou colocando um fonte de exemplo em anexo.

Mensagem do Enviar e-mail Abrir o Perfil do usuário ALX_ALVES ALX_ALVES em 03/08/2022, 21:17 h
Local: SP  Registro: 24/11/2011  Postagens: 104
Boa noite Fabricio!

Queria agradecer por seu post que hoje, três anos depois, salvou meu projeto!

Que você tenha muito sucesso em tudo o que faz!

Muito obrigado!

Alexandre AS
Consultor Especialista Protheus - RH
xhuntet@gmail.com
Skype: xhuntet@outlook.com

Para postar no Fórum você precisa efetuar o seu login ou se registrar

 Mudar para Fórum

 

 

 
 
   
Pagina Principal Shopping PROTHEUS Tire suas duvidas Vagas Microsiga em todo Brasil Aprofunde seus conhecimentos Noticias Online Fale Conosco Pagina Principal