nTopCoordenada superior do componente no contêiner visual.
AdvPL GuiaTCBrowse():New( <nTop>, <nLeft>, <nBottom>, <nRight>, <oWnd>, ... ) --> oBrowseClasse visual usada para exibir e navegar por dados em formato de grade/browse.
TCBrowse é uma classe visual para apresentar informações em linhas e colunas, normalmente dentro de diálogos, painéis ou outras janelas do SmartClient. Ela pode ser criada diretamente por seu construtor New() ou indiretamente pelo comando @ ... BROWSE, que é uma forma mais legível de instanciar e configurar o componente. O browse pode trabalhar com aliases de tabelas ou com arrays, desde que os dados e colunas sejam associados corretamente.
TCBrowse():New( <nTop>, <nLeft>, <nBottom>, <nRight>, <oWnd>, ... ) --> oBrowsenTopCoordenada superior do componente no contêiner visual.
nLeftCoordenada esquerda do componente no contêiner visual.
nBottomCoordenada inferior do componente.
nRightCoordenada direita do componente.
oWndJanela, diálogo, painel ou folder onde o browse será exibido.
cAliasAlias da área de dados quando o browse for baseado em tabela.
TCBrowse():New( <nTop>, <nLeft>, <nBottom>, <nRight>, <oWnd>, ... ) --> oBrowsenTopNuméricoObrigatórioPosição superior.
Em exemplos com PIXEL, interprete como coordenada em pixels.
nLeftNuméricoObrigatórioPosição esquerda.
Deve ser coerente com a unidade usada no contêiner.
nBottomNuméricoObrigatórioPosição inferior.
Ajuda a definir a altura do componente.
nRightNuméricoObrigatórioPosição direita.
Ajuda a definir a largura do componente.
oWndObjetoOpcionalContêiner visual proprietário.
O uso explícito do contêiner evita associação ao diálogo ativo por engano.
Objeto TCBrowse criado.
oBrowse:SetArray( <aDados> ) --> NILaDadosArrayObrigatórioMatriz com as linhas a serem exibidas.
Cada linha costuma ser outro array, com uma posição para cada coluna.
oBrowse:AddColumn( <oColumn> ) --> NILoColumnObjetoObrigatórioObjeto que descreve título, valor e propriedades da coluna.
Também é comum adicionar colunas por sintaxe de comando, como ADD COLUMN TO ... ARRAY ELEMENT.
oBrowse:GoTop() --> NILoBrowse:GoBottom() --> NILoBrowse:GoUp() --> NILoBrowse:GoDown() --> NILoBrowse:Refresh() --> NILRetorna um objeto TCBrowse quando criado por New() ou por @ ... BROWSE.
#Include "TOTVS.ch"
#Include "tcbrowse.ch"
User Function TCBrowse()
Local oDlg
Local oBrowse
Local oOK := LoadBitmap(GetResources(), "br_verde")
Local oNO := LoadBitmap(GetResources(), "br_vermelho")
Local aBrowse := {}
DEFINE DIALOG oDlg TITLE "Exemplo TCBrowse" ;
FROM 180, 180 TO 550, 700 PIXEL
// Vetor com elementos do Browse
aBrowse := { ;
{.T., "CLIENTE 001", "RUA CLIENTE 001", 111.11}, ;
{.F., "CLIENTE 002", "RUA CLIENTE 002", 222.22}, ;
{.T., "CLIENTE 003", "RUA CLIENTE 003", 333.33} ;
}
// Cria Browse
oBrowse := TCBrowse():New(01, 01, 260, 156, , ;
{"", "Código", "Nome", "Valor"}, ;
{20, 50, 90, 70}, oDlg, , , , , {||}, , , , , , , .F., , .T., , .F., , , )
// Seta vetor para a browse
oBrowse:SetArray(aBrowse)
// Monta a linha a ser exibida no Browse
oBrowse:bLine := {|| { ;
If(aBrowse[oBrowse:nAt, 01], oOK, oNO), ;
aBrowse[oBrowse:nAt, 02], ;
aBrowse[oBrowse:nAt, 03], ;
Transform(aBrowse[oBrowse:nAt, 04], "@E 99,999,999,999.99") } }
// Evento de clique no cabeçalho da browse
oBrowse:bHeaderClick := {|o, nCol| Alert("bHeaderClick") }
// Evento de duplo clique na célula
oBrowse:bLDblClick := {|| Alert("bLDblClick") }
// Cria botões com métodos básicos
TButton():New(160, 002, "GoUp()", oDlg, {|| oBrowse:GoUp(), oBrowse:SetFocus() }, 40, 010)
TButton():New(160, 052, "GoDown()", oDlg, {|| oBrowse:GoDown(), oBrowse:SetFocus() }, 40, 010)
TButton():New(160, 102, "GoTop()", oDlg, {|| oBrowse:GoTop(), oBrowse:SetFocus() }, 40, 010)
TButton():New(160, 152, "GoBottom()", oDlg, {|| oBrowse:GoBottom(), oBrowse:SetFocus() }, 40, 010)
TButton():New(172, 002, "Linha atual", oDlg, {|| Alert(oBrowse:nAt) }, 40, 010)
TButton():New(172, 052, "Nr. linhas", oDlg, {|| Alert(oBrowse:nLen) }, 40, 010)
TButton():New(172, 102, "Linhas visíveis", oDlg, {|| Alert(oBrowse:nRowCount()) }, 40, 010)
TButton():New(172, 152, "Alias", oDlg, {|| Alert(oBrowse:cAlias) }, 40, 010)
ACTIVATE DIALOG oDlg CENTERED
ReturnCria um browse com vetor, indicador visual por linha, montagem personalizada com bLine, eventos de cabeçalho e duplo clique, além de botões para executar métodos básicos de navegação.
© 2026 Usina.BR. Todos os direitos reservados. TOTVS, Protheus, Microsiga e seus respectivos logotipos são marcas de seus titulares. O AdvPL Guia é independente e utiliza citações limitadas, atribuídas e justificadas por finalidade educativa. Consulte os Termos de Uso. Termos de Uso
Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.