Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

MétodosParâmetrosDescriçãoExemplo/Utilização
initialize
Inicializa o componente. Este método deverá ser chamado após ser adicionado todas as colunas do TreeList, após inicializado, a adição de colunas não será permitida.
oTreeList:initialize().
setSize
ParâmetrosTipo

Descrição

deRow (I)DecimalLinha
deCol (I)Decimal

Coluna

deWidth (I)Decimal

Tamanho

deHeight (I)DecimalAltura
Define a posição, tamanho e altura do TreeList.
// define o tamanho do componente
oTreeList:setSize( 3, // row
5, // col
100, // width
10). // height
showInvalidValues
ParâmetroTipo

Descrição

lShow (I)Logical

Mostra valores

inválidos ?

Indica se deve ou não apresentar valores inválidos no Treelist (conteúdo igual a nulo "?").

Se for configurado para não mostrar, eles serão apresentados como: "".

O valor padrão é "TRUE".

// mostra valores invalidos
oTreeList:showInvalidValues(FALSE).
addColumn
ParâmetrosTipoDescrição

cColumnId (I)

Char

Nome da

coluna

cType (I)Char

Tipo da

coluna

iExt (I)Int

Extenção

(Extent)

cFormat (I)Char

Formato da

coluna

cInitial (I)CharValor Inicial
cLabel (I)Char

Label da

coluna

Adiciona uma coluna no TreeList.

Sugerimos a não utilização do tipo Extent, para isso informar o valor "0". Esta sugestão é devido ao fato de não ser possível manipular estas colunas do tipo Extent, como por exemplo, não é possível definir o label, o tamanho, o tipo de dados...

// adiciona colunas extras
oTreeList:AddColumn("cod_empres", // nome coluna
"character", // type
0, // extent
"x(05)", // format
"", // initial
"Empresa"). // Label

oTreeList:AddColumn("vlCalculo",  // nome coluna
"decimal",    // type
0,            // extent
">>>,>>9.99", // format
"0",          // initial
"Valor").     // label
addColumn
ParâmetrosTipoDescrição

cColumnId (I)

Char

Nome da

coluna

cType (I)Char

Tipo da

coluna

iExt (I)Int

Extenção

(Extent)

cFormat (I)Char

Formato da

coluna

cInitial (I)CharValor Inicial
cLabel (I)Char

Label da

coluna

lInternal (I)Logical

Coluna

Interna (YES)

ou

Externa (NO)

Adiciona uma coluna no TreeList, onde pode ser especificado se a coluna será apresentada no Browse ou não. As colunas do tipo INTERNAS, NÃO serão apresentadas no Browse e servem apenas para trabalho interno.

As colunas do tipo EXTERNO são apresentadas no Browse do TreeList e podem ser "escondidas" a qualquer momento com o método hideColumn.

Sugerimos a não utilização do tipo Extent, para isso informar o valor "0". Esta sugestão é devido ao fato de não ser possível manipular estas colunas do tipo Extent, como por exemplo, não é possível definir o label, o tamanho, o tipo de dados...

oTreeList:AddColumn("dtCalculo",oTreeList:AddColumn("dtCalculo",  // nome coluna
"date", // type
0, // extent
"99/99/9999", // format
"01/09/2022", // initial
"Calculo", // label
TRUE). // Internal?
setColumnLabel
ParâmetrosTipo

Descrição

cColumnId (I)

Char

Nome da

coluna

cLabel (I)Char

Label da

coluna

Define o Label de uma determinada coluna.
oTreeList:setColumnLabel("cod_empres", // nome col
"Empresa"). // label
getColumnLabel
ParâmetroTipo

Descrição

cColumnId (I)Char

Nome da

coluna

cLabel (O)Char

Label da

coluna

Retorna o Label de uma determinada coluna.
MESSAGE oTreeList:getColumnLabel("cod_usuar")
    VIEW-AS ALERT-BOX.
setColumnSize
ParâmetrosTipo

Descrição

cColumnId (I)Char

Nome da

coluna

deSize (I)Decimal

Tamanho

Define o tamanho de uma determinada coluna.
oTreeList:setColumnSize("cEstrutura", // nome coluna
50). // tamanho
getColumnSize
ParâmetroTipo

Descrição

cColumnId (I)Char

Nome da

coluna

deSize (O)Decimal

Tamanho

Retorna o tamanho de uma determinada coluna.
MESSAGE oTreeList:getColumnSize("cod_empres")
  VIEW-AS ALERT-BOX.
moveColumn
ParâmetroTipo

Descrição

cColumnId (I)Char

Nome da

coluna

iNewPos (I)Integer

Nova posição

Especifica uma nova posição para uma determinada coluna dentro do TreeList.


oTreeList:moveColumn("cod_empres", // nome da coluna
5). // Nova posição da coluna
setLineBgColor
ParâmetrosTipo

Descrição

cNodeId (I)Char

Código do

node

iColor (I)Integer

Cor

Define a cor de fundo de um determinado node.

O número da cor corresponde a tabela de Cores do Progress (de 1 a 15), ou números adicionais configurados na sessão (.ini).

oTreeList:setLineBgColor("cod55", // codigo node
4). // cor de fundo
getLineBgColor
ParâmetroTipo

Descrição

cNodeId (I)CharCódigo do node
iColor (O)Integer

Cor

Retorna o número da cor de fundo de um determinado node.
MESSAGE oTreeList:getLineBgColor("cod55")
  VIEW-AS ALERT-BOX.
setLineFgColor
ParâmetrosTipo

Descrição

cNodeId (I)Char

Código do

node

iColor (I)Integer

Cor

Define a cor de frente de um determinado node.

O número da cor corresponde a tabela de Cores do Progress (de 1 a 15), ou números adicionais configurados na sessão (.ini).

oTreeList:setLineFgColor("cod55", // codigo node
12). // cor de frente
getLineFgColor
ParâmetroTipo

Descrição

cNodeId (I)CharCódigo do node
iColor (O)Integer

Cor

Retorna o número da cor de fundo de um determinado node.
MESSAGE oTreeList:getLineFgColor("cod55") 
  VIEW-AS ALERT-BOX.
setLineFont
ParâmetrosTipo

Descrição

cNodeId (I)Char

Código do

node

iFont (I)Integer

Fonte

Define a fonte de um determinado node.

O número da fonte corresponde a tabela de Fontes do Progress (de 1 a 7), ou números adicionais configurados na sessão (.ini).

oTreeList:setLineFont("cod55", // codigo node
2). // fonte
getLineFont
ParâmetroTipo

Descrição

cNodeId (I)CharCódigo do node
iFont (O)Integer

Fonte

Retorna o número da fonte de um determinado node.
MESSAGE oTreeList:getLineFont("cod55") 
  VIEW-AS ALERT-BOX.
addNode
ParâmetrosTipoDescrição
cParentId (I)CharCódigo do Pai
cNodeId (I)Char

Código do node

cLabel (I)CharLabel do node

Adiciona um node dentro do TreeList.

//              cParentId, cNodeId, cNodeLabel
oTreeList:addNode( "", "cod00", "Tataravo0").
oTreeList:addNode("cod00", "cod11", "Avo1").
oTreeList:addNode("cod11", "cod55", "Pai1").
oTreeList:addNode("cod55", "cod66", "Filho1").
oTreeList:addNode("cod66", "cod22", "Neto1").
oTreeList:addNode("cod00", "cod77", "Pai2").
oTreeList:addNode("cod77", "cod33", "Filho2").
setData
ParâmetrosTipoDescrição
cNodeId (I)Char

Chave do

node

cColumnId (I)Char

Nome da

coluna

pValue (I)

Char

Decimal

Integer

Date

Logical

Valor a ser

gravado

Define o valor de uma determinada coluna de um node.

O valor pode, ser dos seguintes tipos:

  • Character
  • Decimal
  • Integer
  • Date
  • Logical



oTreeList:setData("cod40",      // codigo node
"cod_empres", // nome coluna
"150"). // valor

oTreeList:setData("cod66", // codigo node
"vlCalculo", // nome coluna
250.3). // valor
getDataChar
ParâmetrosTipo

Descrição

cNodeId (I)Char

Código do

node

cColumnId (I)Char

Nome da

coluna

cValue (O)Char

Valor

Retorna o valor de uma coluna CHARACTER do node.
MESSAGE oTreeList:getDataChar("cod55",      // codigo node
"cod_empres") // nome coluna
      VIEW-AS ALERT-BOX.
getDataDec
ParâmetrosTipo

Descrição

cNodeId (I)Char

Código do

node

cColumnId (I)Char

Nome da

coluna

deValue (O)Decimal

Valor

Retorna o valor de uma coluna DECIMAL do node.
MESSAGE oTreeList:getDataDec("cod24",      // codigo node
"vlr_mensal") // nome coluna
    VIEW-AS ALERT-BOX.
getDataInt
ParâmetrosTipo

Descrição

cNodeId (I)Char

Código do

node

cColumnId (I)Char

Nome da

coluna

iValue (O)Integer

Valor

Retorna o valor de uma coluna INTEGER do node.
MESSAGE oTreeList:getDataInt("cod51",        // codigo node
"num_contador") // nome coluna
    VIEW-AS ALERT-BOX.
getDataDate
ParâmetrosTipo

Descrição

cNodeId (I)Char

Código do

node

cColumnId (I)Char

Nome da

coluna

dtValue (O)Date

Valor

Retorna o valor de uma coluna DATE do node.
MESSAGE oTreeList:getDataDate("cod67",     // codigo node
"dtCalculo") // nome coluna
    VIEW-AS ALERT-BOX.
getDataLog
ParâmetrosTipo

Descrição

cNodeId (I)Char

Código do

node

cColumnId (I)Char

Nome da

coluna

lValue (O)Logical

Valor

Retorna o valor de uma coluna LOGICAL do node.
MESSAGE oTreeList:getDataLog("cod12",        // codigo node
"log_executa") // nome coluna
    VIEW-AS ALERT-BOX.
clearData
ParâmetrosTipo

Descrição

cNodeId (I)Char

Código do

node

cColumnId (I)Char

Nome da

coluna

Limpa o valor de uma determinada coluna de um node. Atribui a valor nulo ("?").
oTreeList:clearData("cod40",       // codigo node
"cod_empres"). // nome coluna
emptyTreeList
Elimina todos os nodes do TreeList.
oTreeList:emptyTreeList().
applyEntry



Executa um APPLY ENTRY no TreeList, jogando o foco para ele.

oTreeList:applyEntry().
refresh
Atualiza os dados do Browse do TreeList.
oTreeList:refresh().
browseEvent
ParâmetrosTipoDescrição
cEvent (I)Char

Evento que foi

disparado

cNodeId (I)CharCódigo do node

Este método é executado sempre que um evento ocorrer no TreeList. Ele também executará uma procedure interna no programa pai, que possua o mesmo nome, assinatura e tenha sido especificado o parentProg.

Eventos que são tratados no TreeList:

  • mouse-select-dblclick
  • value-changed
  • selected
  • "*"  (expande todo o TreeList)
  • "/"  (recolhe todo o TreeList)
  • "+" (expande os filhos do node) 
  • "-"  (recolhe os filhos do node)
// cria o TreeList
oTreeList = NEW TOTVSTreeList().
oTreeList:parentProg = THIS-PROCEDURE.

PROCEDURE browseEvent :
DEFINE INPUT PARAMETER cEvent  AS CHAR NO-UNDO.
DEFINE INPUT PARAMETER cNodeId AS CHAR NO-UNDO.
    
MESSAGE
oTreeList:getDataChar(cNodeId, "cod_empres")
SKIP
    oTreeList:getDataChar(cNodeId, "cod_usuar")
SKIP
    oTreeList:getDataDate(cNodeId, "dtCalculo")
    VIEW-AS ALERT-BOX.
END PROCEDURE.
enableTreeList
ParâmetroTipo

Descrição

lEnable (I)LogicalHabilita?
Habilita ou desabilita o TreeList.
// desabilita o TreeList
oTreeList:enableTreeList(FALSE).

// habilita o TreeList
oTreeList:enableTreeList(TRUE).
hideTreeList
ParâmetroTipo

Descrição

lHide (I)LogicalEsconde?
Esconde ou mostra o TreeList.
// esconde o TreeList
oTreeList:hideTreeList(TRUE).

// mostra o TreeList
oTreeList:hideTreeList(FALSE).
hideColumn
ParâmetrosTipo

Descrição

cColumnId (I)Char

Código do

coluna

lHide (I)Logical

Esconde?

Esconde ou mostra uma coluna EXTERNA no TreeList.
// esconde a coluna
oTreeList:hideColumn("cod_empres", // nome coluna
TRUE). // esconde ou mostra coluna

// mostra a coluna
oTreeList:hideColumn("cod_empres", // nome coluna
FALSE). // esconde ou mostra coluna
selectLine
ParâmetroTipo

Descrição

cNodeId (I)CharCódigo do node

Seleciona um node no TreeList.

Dispara o evento de selected.

oTreeList:selectLine("cod55").
expandeNode
ParâmetrosTipo

Descrição

cNodeId (I)Char

Código do

node

lShow (I)Logical

TRUE=Expande

FALSE=Recolhe

Expande ou recolhe um determinado node.
// serão apresentados os filhos deste node, 
// mas os netos não serão apresentados.
oTreeList:expandNode("cod55", // codigo node
TRUE). // expande ou recolhe filhos
expandAll
ParâmetroTipo

Descrição

cNodeId (I)CharCódigo do node
Expande toda a árvore de um determinado node, a partir do código dele.
oTreeList:expandAll("cod55").
expandAll
Expande todos os nodes do TreeList.
oTreeList:expandAll().
collapseAll
Recolhe todos os nodes do TreeList.
oTreeList:collapseAll().
hasNode
ParâmetroTipo

Descrição

lHas (O)LogicalPossui nodes?
Retorna se existe nodes no TreeList.
MESSAGE oTreeList:hasNode()
  VIEW-AS ALERT-BOX.
hasChildren
ParâmetrosTipo

Descrição

cNodeId (I)Char

Código do node

Retorna se existe algum filho para um determinado node.
MESSAGE oTreeList:hasChildren("cod22")
      VIEW-AS ALERT-BOX.
countChildren
ParâmetrosTipoDescrição
cNodeId (I)CharCódigo do node
Retorna o número de filhos do próximo nível do node selecionadoMESSAGE oTreeList:countChildren("cod22")
      VIEW-AS ALERT-BOX.
deleteAllChildren
ParâmetrosTipo

Descrição

cNodeId (I)Char

Código do node

Elimina todos os filhos de um determinado node.
oTreeList:deleteAllChildren("cod22").
getColumnList
ParâmetroTipo

Descrição

lColList (O)CharColunas
Retorna uma lista, separada por virgulas, das colunas EXTERNAS do TreeList (que são as colunas que aparecem no Browse).
ASSIGN cColList = oTreeList:getColumnList().
// Resultado: "cEstrutura,cod_empres,cod_usuar"
setNodeLabel
ParâmetroTipo

Descrição

cNodeId (I)CharCódigo do node
cLabel (I)CharLabel do node
Define o label de um determinado node.
oTreeList:setColumnLabel("cod55",   // codigo node
"Filho1"). // novo label
getNodeLabel
ParâmetroTipo

Descrição

cNodeId (I)CharCódigo do node
cLabel (O)CharLabel do node
Retorna o label de um determinado node.
MESSAGE oTreeList:getColumnLabel("cod55")
    VIEW-AS     VIEW-AS ALERT-BOX.
getFirstNode
Retorna o código do primeiro node.MESSAGE  "Primeiro" oTreeList:getFirstNode()  VIEW-AS ALERT-BOX .
getlastNode
Retorna o código do último node.MESSAGE  "Último" oTreeList:getlastNode()  VIEW-AS ALERT-BOX .
getNextNode
Retorna o código do próximo node a partir do atual.

MESSAGE  "Próximo " oTreeList:getNextNode()  VIEW-AS ALERT-BOX .

getPrevNode
Retorna o código do node anterior a partir do atual.MESSAGE  "Anterior" oTreeList:getprevNode(cRef)  VIEW-AS ALERT-BOX .



Card documentos
InformacaoNão se esqueça de eliminar o TreeList da memória no final do seu programa!!!
TituloIMPORTANTE!

...

View file
nameTreeListTest.w
height250
View file
nameexemplo-TotvsTreeList.p
height250


Bloco de código
titleExemplo de utilização do TreeList
linenumberstrue
USING com.totvs.framework.utp.treelist.*.

DEFINE VARIABLE oTreeList AS TotvsTreeList NO-UNDO.

// alguma logica de negocio e criacao de frame
...

// cria o treelist
oTreeList = NEW TotvsTreeList().
oTreeList:parentFrame = FRAME default-frame:HANDLE.
oTreeList:parentProg = THIS-PROCEDURE.
    
// adiciona as colunas extras
// oTreeList:AddColumn("nome_da_coluna", "type", extent, "format", "initial", "label", Interno?).
oTreeList:AddColumn("cod_empresa", "character", 0, "x(05)", "", "Empresa").
oTreeList:AddColumn("cod_usuario", "character", 0, "x(15)", "", "Usuario").
oTreeList:AddColumn("dtCalculo", "date", 0, "99/99/9999", "01/09/2022", "Calculo", FALSE).

// define o tamanho do componente
oTreeList:setSize(2, 4, 107, 10).

// inicializa o treelist
oTreeList:initialize().
    
// altera o nome e o tamanho da coluna que mostra os nodes
oTreeList:setColumnLabel("cEstrutura", "Tree").
oTreeList:setColumnSize("cEstrutura", 50.0).
    
// adiciona os nodes
//      addNode(cParentId, cNodeId, cNodeLabel).
oTreeList:addNode(     "", "cod00", "Tataravo0").
oTreeList:addNode("cod00", "cod11", "Avo1").
oTreeList:addNode("cod11", "cod55", "Pai1").
oTreeList:addNode("cod55", "cod66", "Filho1").
oTreeList:addNode("cod66", "cod22", "Neto1").
oTreeList:addNode("cod00", "cod77", "Pai2").
oTreeList:addNode("cod77", "cod33", "Filho2").

// adiciona os dados das colunas extras
DO  ix = 0 TO 7:
    oTreeList:setData("cod" + string(ix) + string(ix), "cod_empresa", "FND-" + string(ix)).
    oTreeList:setData("cod" + string(ix) + string(ix), "cod_usuario", "Super-" + string(ix)).
    oTreeList:setData("cod" + string(ix) + string(ix), "dtCalculo", TODAY + ix).
END.

// seta a cor de fundo e de frente de um node
oTreeList:setLineBgColor("cod66", 4).
oTreeList:setLineFgColor("cod66", 15).
oTreeList:setLineFont("cod66", 2).

// atualiza o browse do treelist
oTreeList:refresh().

// seleciona a linha no browse
oTreeList:selectLine ("cod77").
    
// altera o label de um node
oTreeList:setNodeLabel ("cod77", "Teste de Escrita (Pai2)").
    
// expande todos os nodes
oTreeList:expandAll().

//procura primeiro node
oTreeList:getFirstNode().

//procura ultimo node
oTreeList:getLastNode().

//procura próximo node
oTreeList:getNextNode().    

//procura node anterior
oTreeList:getLastNode().


...
WAIT-FOR ...

...
// Retira o TreeList da Memoria
DELETE OBJECT oTreeList NO-ERROR.

...
PROCEDURE browseEvent :
    DEFINE INPUT PARAMETER cEvent  AS CHARACTER NO-UNDO.
    DEFINE INPUT PARAMETER cNodeId AS CHARACTER NO-UNDO.
    
    MESSAGE cEvent SKIP
            cNodeId SKIP
            oTreeList:getDataChar(cNodeId, "cLabel") SKIP
            oTreeList:getDataInt(cNodeId, "cPai") SKIP
            oTreeList:getDataChar(cNodeId, "cod_empresa") SKIP 
            oTreeList:getDataChar(cNodeId, "cod_usuario") SKIP
            oTreeList:getDataDate(cNodeId, "dtCalculo") SKIP
            VIEW-AS ALERT-BOX.
END PROCEDURE.

...

05. TELA DO TOTVSTREELIST
Âncora
telas
telas

Image RemovedImage Added