Árvore de páginas

Versões comparadas

Chave

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

...

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().
    
...
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.

...