Header Web
Logo_PHC_Software
Manuais
Grelha
Grelha

Este objeto permite mostrar numa página do utilizador ou num Painel de Informação uma grelha com um conjunto de registos de outra tabela.
Este objeto pode ser utilizado só para consulta não se podendo alterar os registos apresentados ou pode ser utilizado para se poder introduzir e alterar registos.
Na gama Enterprise este objeto pode funcionar como uma tabela de linhas de utilizador.

Este objeto antes de ser utilizado deverá ser devidamente configurado. Para esse efeito existem as seguintes propriedades no objeto grelha:

Acesso
Esta propriedade só está disponível nas gamas Advanced e Enterprise.
Esta propriedade permite definir acessos de consulta, alteração e introdução para os utilizadores, relativamente ao objeto em questão. Os acessos disponíveis são:

  • Sem controlo de acessos

  • Acesso privado para um utilizador

  • Acesso X à tabela Y

  • Acesso por tipo de perfil


  • Altura (Cabeçalho)
    Esta propriedade permite definir o tamanho em pixels da altura do cabeçalho da grelha, que será a zona onde aparecem os títulos das colunas da grelha. No caso de uma coluna ter um título comprido composto por diversas palavras, em vez de aumentar a coluna para mostrar o título todo, podemos alterar a propriedade "WordWrap" do cabeçalho dessa coluna respetiva para "1 - Sim" de modo a que as palavras do título se expandam na vertical caso exista espaço.

    Altura (Registo)
    Esta propriedade permite definir a altura em pixels de todas as linhas de registos que esta grelha irá mostrar, permitindo assim definir logo um valor para o tamanho que as linhas irão ter. Esta propriedade é útil para os casos em que a grelha apresenta em alguma das suas colunas um objeto do tipo texto longo que tem uma barra de deslocação á sua direita e que só é visível caso o tamanho das linhas da grelha seja superior a um determinado valor.

    Barra de Deslocamento
    Esta propriedade permite inserir uma barra de deslocamento na grelha de forma a ser possível visualizar todas as linhas quando estas são muitas. Esta propriedade pode ter os seguintes valores:
    0 - Nada
    1 - Horizontal
    2 - Vertical
    3 - Horizontal e Vertical

    Colunas (Separação - Cor)
    Permite definir uma cor para as linhas que separam os registos na grelha.

    Colunas (Separação - Espessura)
    Permite definir uma espessura para as linhas que separam os registos na grelha.

    Colunas (Separação)
    Permite definir o tipo de separação entre colunas e linhas na grelha.

    Expressão TSQL
    Esta propriedade nos Painéis de Informação só se encontra disponível se possuir a gama Advanced ou Enterprise. Nos ecrãs personalizados encontra-se disponível em todas as gamas.
    Esta propriedade permite definir uma expressão em Transact Sql de modo a retornar os registos de uma tabela do servidor.

    Expressão XBASE
    Esta propriedade corre a seguir à propriedade "Expressão TSQL" e serve para transformar o cursor retornado por essa propriedade de modo a conseguir configurar ao máximo o tipo de colunas e registos que aparecem na grelha.
    Esta propriedade pode-se usar para criar ela própria o cursor a ser utilizado pela grelha, não usando neste caso a propriedade "Expressão TSQL", por exemplo :





    Nota: Esta funcionalidade está disponível nas três gamas: PHC Corporate CS, PHC Advanced CS e PHC Enterprise CS, caso o número de instalação já exista.
    Se for uma instalação nova, a partir da versão 17, esta funcionalidade existe nas gamas PHC Advanced CS, apenas com o PHC On ativo, e na gama PHC Enterprise CS, com ou sem PHC On ativo.


    Estes últimos dois campos de programação têm uma funcionalidade que permite a procura rápida e introdução directa de nomes de campos.
    Para tal, é necessário, com um clique direito sobre o campo, seleccionar a opção Introduzir Campos de Tabelas.

    Marca de Registo
    Este objeto mostra automaticamente qual o registo seleccionado das suas linhas, através do desenho de uma pequena seta do lado esquerdo do objeto, é também nesta zona que o objeto permite ao utilizador alterar o tamanho das suas linhas como explicado na propriedade "Altura (Registo)". Esta propriedade permite colocar essa zona visível ou não. Permitindo assim por exemplo impedir que o utilizador altere o tamanho das linhas do objeto, ou então colocar esta zona invisível apenas por razões de estética.

    Origem dos Dados
    Esta propriedade permite definir a origem dos dados que a grelha vai apresentar. A origem dos dados tanto pode ser um cursor definido na Expressão Tsql ou na Expressão Xbase.
    Na gama Enterprise esta propriedade pode ser utilizada para definir uma tabela de utilizador, ou seja, a origem dos dados pode ser uma tabela criada pelo utilizador.

    Recalcula Valores
    Esta propriedade permite impedir que a grelha seja refrescada em determinadas alturas, isto porque como as grelhas podem ser editáveis pode não ser conveniente que o objeto recalcule os valores.
    As alturas em que a aplicação refresca os objetos são:
    - se for um painel de informação, os dados dos objetos nele contidos apenas são refrescados quando o utilizador clicar no botão "Atualizar" ou no botão "Só esta página".
    - se for numa personalização de um ecrã, os dados são refrescados pela aplicação automaticamente sempre que esta refresca o próprio ecrã. Por exemplo sempre que mudarmos de registo ao navegar, ou quando um botão executa o refrescar, por exemplo o botão "Atualizar" da barra de ferramentas do próprio ecrã.

    Sempre que o ecrã estiver em modo de alteração ou inserção o objeto grelha não é refrescado mesmo que estes eventos automáticos disparem.

    Nota: na gama Enterprise sempre que o valor da propriedade Origem dos Dados for uma tabela da aplicação, por exemplo uma tabela de utilizador, e não um cursor criado através das suas propriedades Expressão TSQL e Expressão XBASE e caso essa grelha esteja numa personalização de ecrã e não num painel de informação, então o objeto nunca é refrescado pela aplicação.

    Só de Leitura
    Esta propriedade permite definir se o objeto é apenas de leitura ou se permite ao utilizador alterar os valores dos seus registos, assim como apagar ou introduzir registos novos, podendo depois essas alterações serem gravadas no servidor automaticamente.


    É possível abrir um outro ecrã com um duplo clique na grelha através das seguintes propriedades:

    Tabela de Ligação
    Esta propriedade define a tabela que está ligada com os registos da grelha, para ao fazer duplo clique na linha chamar o ecrã dessa tabela.

    Ligação (Tabela)
    Define qual o campo da tabela especificada na propriedade 'Tabela de Ligação' que está relacionado com o campo especificado na propriedade 'Campo de Ligação da Grelha'.

    Ligação (Grelha)
    Define qual o campo da grelha que está relacionado com o campo especificado na propriedade 'Campo de Ligação de Tabela'.

    As duas propriedades anteriores definem a ligação que existe entre os registos mostrados na grelha e a tabela especificada na propriedade Tabela de Ligação.

    É possível definir as colunas uma a uma que a grelha vai apresentar ao utilizador. A gestão das colunas disponibiliza 3 objetos, para cada coluna, cada um com um conjunto próprio de propriedades. Para isso deve-se selecionar o objeto grelha e com clique direito selecionar a opção Gestão das Colunas.





    Antes de se aceder à gestão das colunas é aconselhável definir primeiro a origem de dados da grelha. A partir da gestão de colunas pode-se acrescentar colunas à grelha, com a origem dos dados preenchida, quando se clica na opção de adicionar uma ou várias colunas o software apresenta todas as colunas disponíveis que podem ser acrescentadas à grelha.

    Para cada coluna é possível definir os Dados da coluna e o Objeto da coluna. Nos Dados da coluna deve-se definir o nome da coluna, a variável do objeto (é o campo do cursor ou campo da tabela), o título, a formatação e a máscara da coluna.

    No Objeto da coluna define-se que tipo de objeto será disponibilizado em cada coluna da grelha, podendo ser selecionados os seguintes:

  • Automático - A aplicação coloca o tipo de objeto mediante o tipo de campo selecionado;

  • Campos de tabelas

  • Campo de ligação de coluna - Este objeto apenas se encontra disponível na gama Enterprise;

  • Campos memos

  • Campos lógicos

  • Campos com tabelas

  • Botão

  • Botão de email

  • Botão de WWW






  • O objeto grelha pode ser editável, desta forma é possível construir um objeto organizado por linhas e colunas para recolha de informação por parte do utilizador, podendo depois essa informação ser utilizada para calcular determinada análise ou gravar esses registos no servidor de dados.

    A sua utilização em painéis de informação é direcionada quando existe um cursor que é calculado nas propriedades Expressão TSQL e Expressão XBASE deste objeto, podendo depois o utilizador alterar esses valores, que depois podem ser usados por exemplo no evento clique de um botão que também esteja nesse painel para executar uma determinada ação.

    A sua utilização na gama Enterprise aplica-se em personalizações de ecrã, onde as propriedades Expressão TSQL e Expressão XBASE se encontram vazias e a propriedade "Origem dos Dados" está preenchida com um valor que corresponde a uma tabela de utilizador.

    Quando a grelha se encontra editável passa a ser possível não só alterar os valores que esta possa apresentar nas suas linhas e colunas, como também introduzir novas linhas ou apagar algumas dessas linhas. Para que seja possível introduzir ou apagar linhas na grelha é necessário acrescentar dois botões que são disponibilizados quando se escolhe o tipo de objeto "Botão". Deve-se escolher Botão de adicionar registo a grelha e Botão de apagar registo a grelha.





    Este novos botões quando colocados no desenho da personalização de ecrã ou no painel de informação, a única propriedade que devem ter preenchida obrigatoriamente para que passem a funcionar é a propriedade Objeto de Destino que como o seu nome indica, deve ser preenchida com o caminho para o objeto grelha correspondente ao botão.


    Na gama Enterprise existe a possibilidade de definir tabelas de linhas. Desta forma é possível que determinado ecrã como por exemplo clientes, stocks, documentos de faturação, e também ecrãs de utilizador, possam ter tabelas de linhas, possibilitando assim que ecrãs que não tinham linhas, passem a possui-las, e ecrãs que já tinham linhas, como seja por exemplo, o ecrã de dossiers internos, definir outras tabelas de linhas para esse ecrã.

    Para que o objeto grelha esteja ligado a um ecrã, é necessário que os seguintes pontos se verifiquem:

    - O objeto grelha deve estar colocado num ecrã principal da aplicação, os painéis de informação não tem esta funcionalidade.

    - As propriedades "Expressão TSQL" e "Expressão XBASE" devem estar vazias.

    - A propriedade "Origem dos Dados" deve apontar para uma tabela de utilizador.

    - Essa tabela de utilizador deve ter o novo campo "É uma tabela de linhas ligada à tabela" preenchido e a apontar para a tabela principal do ecrã onde o objeto grelha irá residir, normalmente o nome da tabela principal do ecrã tem o mesmo nome que o ecrã mas sem a letra "S" no inicio.

    - A propriedade da grelha "Só de Leitura" deve ter o valor "0 - Não", embora não seja obrigatório que esta propriedade tenha esse valor para uma grelha ficar ligada a um ecrã, se a grelha for apenas de leitura apesar se ficar ligada ao ecrã o utilizador não irá conseguir fazer nada com ela.

    Se estes pontos se verificarem, então a grelha de utilizador passa a estar ligada automaticamente ao ecrã onde esta reside, isto quer dizer que sempre que o utilizador consultar registos desse ecrã a aplicação irá automaticamente retornar os registos da grelha que estejam relacionados com o registos que o utilizador estiver a consultar no ecrã, o mesmo se passa quando o utilizador mandar apagar um registo do ecrã, automaticamente todos os registos da grelha que estiverem ligados ao registo que o utilizador mandou apagar também serão apagados do servidor de dados. Quando o utilizador mandar introduzir um registo nesse ecrã, automaticamente a grelha limpa os seus valores de modo a que o utilizador possa nessa altura introduzir linhas associadas ao novo registo que está a introduzir naquele momento.

    Quando se clica nos botões de Gravar ou Cancelar do ecrã, as alterações efetuadas na grelha são gravadas ou canceladas juntamente com a gravação ou o cancelamento das alterações efetuadas à tabela principal do ecrã, ficando deste modo os registos da grelha automaticamente associados ao registo da tabela principal do ecrã que estiver no momento ativo.


    As restantes propriedades deste tipo de objeto são:

    Altera a Sua Altura
    Altera o Seu Comprimento
    Altera a sua Esquerda
    Altera o seu Topo
    Altura
    Comprimento
    Esquerda
    Evento Antes mudar Linha/Coluna
    Evento Clique Direito
    Evento Depois mudar Linha/Coluna
    Evento Duplo Clique
    Evento Init
    Evento MouseEnter
    Evento MouseLeave
    Evento MouseMove
    Evento MouseWheel
    Evento Refrescar
    Itálico
    Mensagem
    Mensagem do rato
    Negrito
    Nome
    Ordem de Acesso
    Riscado
    Sublinhado
    Tamanho
    Temas XP
    Tipo de Letra
    Ordem (Z)
    Topo
    Visível


    Nas gama Enterprise existem ainda as seguintes propriedades:

    Evento Apagar (Check)
    Este evento corre sempre que o utilizador tentar apagar um registo da grelha, permite correr várias verificações que sejam necessária nesta altura e caso retorne .F. (Falso) a operação de apagar o registo é cancelada.

    Evento Apagar
    Este evento corre quando se apaga um registo da grelha, e apenas depois do registo ser apagado da grelha, e não ao tentar apagar o registo como o evento anterior.

    Evento Introduzir (Check)
    Este evento corre sempre que o utilizador tentar adicionar um registo á grelha, permite correr várias verificações que sejam necessária nesta altura e caso retorne .F. (Falso) a operação de introduzir o registo é cancelada.

    Evento Introduzir
    Este evento corre quando se adiciona um registo à grelha, e apenas depois do registo ser adicionado à grelha, e não ao tentar adicionar o registo como o evento anterior.

    Expressão em Xbase de ligação a outra tabela
    Esta propriedade define uma expressão em Xbase que pode ser um programa ou não, que deve retornar uma string contendo a ligação pretendida à tabela específicada na propriedade "Tabela de Ligação".