+1 voto
65 visitas
Olá Prezados,

Estou com uma dúvida. É possível informar ao TBVirtualEngine do delphi para não montar alguma página de um campo do tipo TABS?

Eu sei que existe a propriedade HideFields e já utilizei ela algumas vezes. Acontece que não quero que um campo não seja exibido totalmente, pois tenho um campo do tipo TABS com 5 páginas, e gostaria que somente uma das páginas não fosse criada. Tem como fazer isso?

Algo como --> bveDemanda.HideFields.Add('TIPO=1002');
por (50 pontos) | 65 visitas

1 Resposta

+1 voto

Apenas via macro.

Na macro é possível acessar o objeto do campo e esconder uma tab específica. Como o TBVirtualEngine consegue rodar macro, acredito que esta solução sirva.

Por exemplo, para esconder a primeira página do campo PERIDIOCIDADE utilize:

PERIODICIDADE.Pages(0).Visible = False

 

por (861 pontos)
A questão não é esconder. Isso já é feito atualmente.

A ideia seria não criar todos os campos presentes na página, pois atualmente no sistema, mais especificamente na central de atendimento de um determinado cliente, esse componente está sendo utilizado para montar a interface de uma tabela com mais de 700 campos, composto por dezenas de abas (quase centenas), sendo que quase metade não são mais exibidas (por conta das regras que foram sendo alteradas), e que portanto faz com que sejam criados centenas de campos que nunca serão utilizados.


Isso está fazendo com que o número de objetos do usuário (objetos do gerenciador de janelas) criado para o processo fique muito grande e cause erros na interface.

Tem como, portanto, impedir que o VirtualEngine não perca tempo nem recurso criando esses campos?
Para o VirtualEngine não criar o componente, existem duas alternativas. Cada uma com suas desvantagens.

* Tornar o campo invisível no Builder, mas vai afetar todas as interfaces
* Existe uma propriedade onde você escolhe os campos que quer que sejam criados. Mas vai esconder o campo Tab e todas as suas páginas.
Nos 2 casos o tab todo não vai ser criado. Então outra abordagem será necessária.

Muito obrigado pela resposta.

Perguntas relacionadas

+10 votos
1 resposta
+1 voto
1 resposta
perguntado 12 Nov, 2019 por andre.junges (46 pontos) | 28 visitas
+6 votos
1 resposta
perguntado 24 Out, 2014 por fernando.medeiros (195 pontos) | 28 visitas
Melhores May 2020
  1. henrique.muller

    18 Pontos

  2. joao.melo

    14 Pontos

  3. joseglauber

    11 Pontos

  4. SlimShady

    7 Pontos

  5. willian.metalsystem

    6 Pontos

  6. lucas.melo

    3 Pontos

  7. fluipress.luciano

    2 Pontos

  8. pajucara.wallacef

    2 Pontos

  9. jean.filho

    2 Pontos

  10. maicon.pereira

    2 Pontos

200 pontos
Melhores 2020 May 25 - 31
    433 perguntas
    476 respostas
    346 comentários
    466 usuários