nTopCoordenada superior del componente dentro del contenedor visual.
Guía AdvPLTCBrowse():New( <nTop>, <nLeft>, <nBottom>, <nRight>, <oWnd>, ... ) --> oBrowseClase visual utilizada para mostrar y navegar datos en formato de grilla/browse.
TCBrowse es una clase visual para presentar información en filas y columnas, normalmente dentro de diálogos, paneles u otras ventanas del SmartClient. Puede crearse directamente con New() o indirectamente mediante el comando @ ... BROWSE, que es una forma más legible de instanciar y configurar el componente. El browse puede trabajar con aliases de tablas o matrices, siempre que los datos y columnas estén asociados correctamente.
TCBrowse():New( <nTop>, <nLeft>, <nBottom>, <nRight>, <oWnd>, ... ) --> oBrowsenTopCoordenada superior del componente dentro del contenedor visual.
nLeftCoordenada izquierda del componente dentro del contenedor visual.
nBottomCoordenada inferior del componente.
nRightCoordenada derecha del componente.
oWndVentana, diálogo, panel o folder donde se muestra el browse.
cAliasAlias del área de datos cuando el browse se basa en tabla.
TCBrowse():New( <nTop>, <nLeft>, <nBottom>, <nRight>, <oWnd>, ... ) --> oBrowsenTopNuméricoObligatorioPosición superior.
En ejemplos con PIXEL, se interpreta como coordenada en píxeles.
nLeftNuméricoObligatorioPosición izquierda.
Debe ser coherente con la unidad usada en el contenedor.
nBottomNuméricoObligatorioPosición inferior.
Ayuda a definir la altura del componente.
nRightNuméricoObligatorioPosición derecha.
Ayuda a definir el ancho del componente.
oWndObjetoOpcionalContenedor visual propietario.
Informar explícitamente el contenedor evita asociar el browse al diálogo activo incorrecto.
Objeto TCBrowse creado.
oBrowse:SetArray( <aDados> ) --> NILaDadosArrayObligatorioMatriz con las filas que se mostrarán.
Cada fila suele ser otra matriz, con una posición para cada columna.
oBrowse:AddColumn( <oColumn> ) --> NILoColumnObjetoObligatorioObjeto que describe título, valor y propiedades de la columna.
También es común agregar columnas mediante sintaxis 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 "Ejemplo TCBrowse" ;
FROM 180, 180 TO 550, 700 PIXEL
// Vector con elementos del Browse
aBrowse := { ;
{.T., "CLIENTE 001", "CALLE CLIENTE 001", 111.11}, ;
{.F., "CLIENTE 002", "CALLE CLIENTE 002", 222.22}, ;
{.T., "CLIENTE 003", "CALLE CLIENTE 003", 333.33} ;
}
// Crea Browse
oBrowse := TCBrowse():New(01, 01, 260, 156, , ;
{"", "Código", "Nombre", "Importe"}, ;
{20, 50, 90, 70}, oDlg, , , , , {||}, , , , , , , .F., , .T., , .F., , , )
// Asigna la matriz al browse
oBrowse:SetArray(aBrowse)
// Monta la línea que se mostrará en el 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 clic en el encabezado del browse
oBrowse:bHeaderClick := {|o, nCol| Alert("bHeaderClick") }
// Evento de doble clic en la celda
oBrowse:bLDblClick := {|| Alert("bLDblClick") }
// Crea botones con 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, "Línea actual", oDlg, {|| Alert(oBrowse:nAt) }, 40, 010)
TButton():New(172, 052, "Nro. líneas", oDlg, {|| Alert(oBrowse:nLen) }, 40, 010)
TButton():New(172, 102, "Líneas visibles", oDlg, {|| Alert(oBrowse:nRowCount()) }, 40, 010)
TButton():New(172, 152, "Alias", oDlg, {|| Alert(oBrowse:cAlias) }, 40, 010)
ACTIVATE DIALOG oDlg CENTERED
ReturnCrea un browse con matriz, indicador visual por fila, montaje personalizado con bLine, eventos de encabezado y doble clic, además de botones que ejecutan métodos básicos de navegación.
Desarrollado con Usina Docs · Alpha
© 2026 Usina.BR. Todos los derechos reservados. TOTVS, Protheus, Microsiga y sus respectivos logotipos son marcas de sus titulares. Guía AdvPL es independiente y utiliza citas limitadas, atribuidas y justificadas por fines educativos. Consulta los Términos de Uso. Términos de Uso
Comentarios
Todavía no hay comentarios aprobados.
Inicia sesión con Google o Microsoft para comentar.