Você está na página 1de 29

TCBrowse

Colapse ALL Expand ALL

Classe: TCBrowse
Cria um objeto do tipo grade.

Hierarquia TSrvObject -> TControl -> TCBrowse

Construtores New

New
Mtodo construtor da classe.
Sintaxe TCBrowse(): New ( [ nRow], [ nCol], [ nWidth], [ nHeight], [ bLine], [ aHeaders], [ aColSizes], [ oWnd], [ cField], [ uValue1], [ uValue2], [ bChange], [ bLDblClick], [ bRClick], [ oFont], [ oCursor], [ nClrFore], [ nClrBack], [ cMsg], [ uParam20], [ cAlias], [ lPixel], [ bWhen], [ uParam24], [ bValid], [ lHScroll], [ lVScroll] ) --> oObjeto

Parmetros

Nome

Tipo

Descrio

Obrigatrio Referncia

nRow nCol nWidth nHeight

Numrico Numrico Numrico Numrico Bloco de bLine cdigo Array of aHeaders Record Array of aColSizes Record oWnd Objeto cField Caracter uValue1 Qualquer uValue2 Qualquer Bloco de bChange cdigo Bloco de bLDblClick cdigo Bloco de bRClick cdigo oFont oCursor nClrFore nClrBack cMsg uParam20 cAlias lPixel bWhen Objeto Objeto Numrico Numrico Caracter Lgico Caracter Lgico Bloco de cdigo

Indica a coordenada vertical. Indica a coordenada horizontal. Indica a largura em pixels do objeto. Indica a altura em pixels do objeto. Indica o bloco de cdigo da lista de campos. Observao: Esse parmetro utilizado somente quando o browse trabalha com array. Indica o ttulo dos campos no cabealho. Indica a largura das colunas. Indica o controle visual onde o divisor ser criado. Indica os campos necessrios para o filtro. Indica o incio do intervalo para o filtro. Indica o fim do intervalo para o filtro. Indica o bloco de cdigo que ser executado ao mudar de linha. Indica o bloco de cdigo que ser executado quando clicar duas vezes, com o boto esquerdo do mouse, sobre o objeto. Indica o bloco de cdigo que ser executado quando clicar, com o boto direito do mouse, sobre o objeto. Indica o objeto do tipo TFont utilizado para definir as caractersticas da fonte aplicada na exibio do contedo do controle visual. Indica o tipo de ponteiro do mouse. Indica a cor do texto da janela. Indica a cor de fundo da janela. Indica a mensagem ao posicionar o ponteiro do mouse sobre o objeto. Compatibilidade. Indica se o objeto utilizado com array (opcional) ou tabela (obrigatrio). Indica se considera as coordenadas passadas em pixels (.T.) ou caracteres (.F.). Indica o bloco de cdigo que ser executado quando a mudana de foco da entrada de dados, na janela em que o controle foi criado, estiver sendo efetuada. Observao: O bloco de cdigo retornar verdadeiro (.T.) se o controle permanecer habilitado; caso contrrio, retornar falso

uParam24 Lgico Bloco de bValid cdigo lHScroll Lgico lVScroll Lgico

(.F.). Compatibilidade. Indica o bloco de cdigo de validao que ser executado quando o contedo do objeto for modificado. Retorna verdadeiro (.T.), se o contedo vlido; caso contrrio, falso (.F.). Indica se habilita(.T.)/desabilita(.F.) a barra de rolagem horizontal. Indica se habilita(.T.)/desabilita(.F.) a barra de rolagem vertical.

Retorno oObjeto ()

Retorna o objeto criado.

Observaes

Exemplos
oBrowse := TCBrowse():New( 01 , 01, 260, 156,,; oDlg,,,,,{||},,,,,,,.F.,,.T.,,.F.,,, ) {'','Codigo','Nome','Valor'},{20,50,50,50},;

Mtodos AddColumn

AddColumn
Inclui coluna no browse.
Sintaxe TCBrowse(): AddColumn ( < oColuna> ) -->

Parmetros

Nome Tipo Descrio Obrigatrio Referncia oColuna Objeto Indica o objeto do tipo TCColumn utilizado para incluir coluna no browse. X

Observaes Para mais informaes, consulta a documentao da classe TCColumn.

Exemplos
// Cria browseDbSelectarea("SA1")oBrowse := TCBrowse():New( 01 , 01, 260, 156,,; {'Codigo','Loja','Nome'},{50,50,50},; oDlg,,,,,{||},,,,,,,.F.,,.T.,,.F.,,, )// Adiciona colunasoBrowse:AddColumn(TCColumn():New("Codigo",{||SA1->A1_COD },,,,"LEFT",,.F.,.F.,,,,.F.,))oBrowse:AddColumn(TCColumn():New("Loja" ,{||SA1>A1_LOJA},,,,"LEFT",,.F.,.F.,,,,.F.,))oBrowse:AddColumn(TCColumn():New("Nome" ,{||SA1->A1_NOME},,,,"LEFT",,.F.,.F.,,,,.F.,))

Veja Tambm TCColumn ColPos

ColPos
Retorna o nmero da coluna posicionada.
Sintaxe TCBrowse(): ColPos ( ) --> nColuna Retorno

nColuna ()

Retorna o nmero da coluna posicionada.

Observaes

Exemplos
oBrowse:ColPos() // Result: 2

DrawSelect

DrawSelect
Fora a atualizao do browse.
Sintaxe TCBrowse(): DrawSelect ( ) -->

Observaes

Exemplos
oBrowse:DrawSelect()

GetBrowse

GetBrowse
Retorna o objeto da classe TCBrowse.

Sintaxe TCBrowse(): GetBrowse ( ) --> oBrowse Retorno oBrowse ()

Retorna o objeto da classe TCBrowse.

Observaes

Exemplos
oBrowse:GetBrowse()

GetBrwOrder

GetBrwOrder
Retorna um array com os ttulos, definidos pelo usurio, das colunas.
Sintaxe TCBrowse(): GetBrwOrder ( ) --> aTitulos Retorno aTitulos ()

Retorna um array com os ttulos, definidos pelo usurio, das colunas.

Observaes

Exemplos
oBrowse:GetBrwOrder() // Result: {"Titulo01","Titulo02","Titulo03"}

GetCellRect

GetCellRect
Retorna o retngulo da clula, do browse, no formato da classe TRect.
Sintaxe TCBrowse(): GetCellRect ( ) -->

Observaes Para mais informaes, consulte a documentao da classe TRect.

Exemplos
// Varivel que receber as coordenadasoRect := tRect():New(0,0,0,0) oRectnColuna := 1nLinha := 2oBrowse:GetCellRect(nColuna, nLinha, oRect) // oRect:nRight = 183 // oRect:nBottom = 220 // Retorna as coordenadas da clula na varivel // Result: oRect:nLeft = 186 // oRect:nTop = 223

GetColSizes

GetColSizes
Retorna um array com as larguras das colunas.
Sintaxe TCBrowse(): GetColSizes ( ) --> aSizes

Retorno aSizes ()

Retorna um array com as larguras das colunas.

Observaes

Exemplos
oBrowse:GetColSizes() // Result: {20,50,50,50}

GoBottom

GoBottom
Move o ponteiro do mouse para a ltima linha do browse.
Sintaxe TCBrowse(): GoBottom ( ) -->

Observaes

Exemplos
oBrowse:GoBottom()

GoColumn

GoColumn
Posiciona o cursor na coluna desejada.

Sintaxe TCBrowse(): GoColumn ( < nColuna> ) -->

Parmetros

Nome Tipo Descrio Obrigatrio Referncia nColuna Numrico Indica a coluna para posicionar o cursor. X

Observaes

Exemplos
oBrowse:GoColumn(2)

GoDown

GoDown
Move o ponteiro do mouse uma clula abaixo.
Sintaxe TCBrowse(): GoDown ( ) -->

Observaes

Exemplos
oBrowse:GoDown()

GoLeft

GoLeft
Move o ponteiro do mouse para a clula adjacente esquerda.
Sintaxe TCBrowse(): GoLeft ( ) -->

Observaes

Exemplos
oBrowse:GoLeft()

GoPosition

GoPosition
Posiciona o ponteiro do mouse na linha desejada.
Sintaxe TCBrowse(): GoPosition ( < nLinha> ) -->

Parmetros

Nome Tipo Descrio Obrigatrio Referncia nLinha Numrico Indica a linha para posicionar o ponteiro do mouse. X

Observaes

Exemplos
oBrowse:GoPosition(2)

GoRight

GoRight
Move o ponteiro do mouse para a clula adjacente direita.
Sintaxe TCBrowse(): GoRight ( ) -->

Observaes

Exemplos
oBrowse:GoRight()

GoTop

GoTop
Move o ponteiro do mouse para a primeira linha do browse.

Sintaxe TCBrowse(): GoTop ( ) -->

Observaes

Exemplos
oBrowse:GoTop()

GoUp

GoUp
Move o ponteiro do mouse uma clula acima.
Sintaxe TCBrowse(): GoUp ( ) -->

Observaes

Exemplos
oBrowse:GoUp()

nAtCol

nAtCol
Retorna a coluna em uma determinada posio do browse.

Sintaxe TCBrowse(): nAtCol ( < nColPix>, [ lIncludeFreeze] ) --> nColuna

Parmetros

Nome Tipo Descrio Obrigatrio Referncia nColPix Numrico Indica a posio em pixels para pesquisar o nmero da coluna do browse. X lIncludeFreeze Lgico Indica se as colunas congeladas sero utilizadas no clculo.

Retorno nColuna ()

Retorna a coluna na posio desejada.

Observaes

Exemplos
oBrowse:nAtCol(20,.F.) // Result: 3

nRowCount

nRowCount
Retorna o nmero de linhas que esto visveis no browse.
Sintaxe

TCBrowse(): nRowCount ( ) --> nLinhas Retorno nLinhas ()

Retorna o nmero de linhas que esto visveis no browse.

Observaes

Exemplos
oBrowse:nRowCount() // Result: 50

PageDown

PageDown
Move o ponteiro do mouse para baixo, conforme o nmero de linha configurado.
Sintaxe TCBrowse(): PageDown ( < nLines> ) -->

Parmetros

Nome Tipo Descrio Obrigatrio Referncia nLines Numrico Indica o nmero de linhas que o ponteiro do mouse ir saltar. X

Observaes

Exemplos
oBrowse:PageDown(1)

PageUp

PageUp
Move o ponteiro do mouse para cima, conforme o nmero de linha configurado.
Sintaxe TCBrowse(): PageUp ( < nLines> ) -->

Parmetros

Nome Tipo Descrio Obrigatrio Referncia nLines Numrico Indica o nmero de linhas que o ponteiro do mouse ir saltar. X

Observaes

Exemplos
oBrowse:PageUp(1)

ResetLen

ResetLen
Reinicia o contador de linha do browse.
Sintaxe TCBrowse(): ResetLen ( ) -->

Observaes

Exemplos
oBrowse:ResetLen()

SetArray

SetArray
Define um array para o browse.
Sintaxe TCBrowse(): SetArray ( < aDados> ) -->

Parmetros

Nome Tipo Descrio Obrigatrio Referncia aDados Vetor Indica o array que contm os dados para o browse. X

Observaes

Exemplos
// Cria o BrowseoBrowse := TCBrowse():New( 01 , 01, 260, 156,,; {'','Codigo','Nome','Valor'},{20,50,50,50},; oDlg,,,,,{||},,,,,,,.F.,,.T.,,.F.,,, )// Vetor com informaesaBrowse := {{.T.,'CLIENTE 001','RUA CLIENTE 001',111.11},; {.F.,'CLIENTE 002','RUA CLIENTE 002',222.22},; {.T.,'CLIENTE 003','RUA CLIENTE 003',333.33} }// Define vetor para a browse oBrowse:SetArray(aBrowse)

SetBlkBackColor

SetBlkBackColor
Define a cor de fundo das colunas.
Sintaxe TCBrowse(): SetBlkBackColor ( < bColor> ) -->

Parmetros

Nome Tipo Descrio Obrigatrio Referncia bColor Bloco de cdigo Indica o bloco de cdigo que permite tratar a cor de fundo da coluna. X

Observaes

Exemplos

bColor := &("{|| if(aCols[n,Len(aCols[n])],"+Str(CLR_LIGHTGRAY)+","+Str(CLR_WHITE)+")}")oBrowse:SetBlkBackColor(bColor)

SetBlkColor

SetBlkColor
Define a cor da fonte das colunas.
Sintaxe TCBrowse(): SetBlkColor ( < bColor> ) -->

Parmetros

Nome Tipo Descrio Obrigatrio Referncia bColor Bloco de cdigo Indica o bloco de cdigo que permite tratar a cor da fonte da coluna. X

Observaes

Exemplos
bColor := &("{|| if(aCols[n,Len(aCols[n])],"+Str(CLR_WHITE)+","+Str(CLR_BLACK)+")}")oBrowse:SetBlkColor(bColor)

SetFilter

SetFilter
Define o filtro para os registros do browse.

Sintaxe TCBrowse(): SetFilter ( < cCampo>, [ uVal1], [ uVal2] ) -->

Parmetros

Nome Tipo Descrio Obrigatrio Referncia cCampo Caracter Indica o nome do campo que ser utilizado para o filtro. X uVal1 Qualquer Indica a expresso inicial do intervalo para o filtro. uVal2 Qualquer Indica a expresso final do intervalo para o filtro.

Observaes Para utilizar esse mtodo, necessrio que o browse esteja definido para usar tabela.

Exemplos
// Cria parametros do filtrocCpofil := "A1_FILIAL"cTopFun := "xFilial('SA1')"cBotFun := cTopFun // Define o filtrooBrowse:SetFilter(cCpoFil, &cTopFun, &cBotFun)

SetHeaderImage

SetHeaderImage
Define uma imagem para o cabealho do browse.
Sintaxe

TCBrowse(): SetHeaderImage ( < nColuna>, < cImagem> ) -->

Parmetros

Nome Tipo Descrio Obrigatrio Referncia nColuna Numrico Indica a coluna para inserir a imagem. X cImagem Caracter Indica o diretrio ou path da imagem. X

Observaes

Exemplos
// Define uma imagem na segunda coluna do browseoBrowse:SetHeaderImage(2,"c:\dir\img_cabec.png")

SetOrder

SetOrder
Define a ordem de apresentao do browse.
Sintaxe TCBrowse(): SetOrder ( < nColuna> ) -->

Parmetros

Nome Tipo Descrio Obrigatrio Referncia nColuna Numrico Indica a coluna que ser ordenada. X

Observaes Para utilizar esse mtodo, necessrio que o browse esteja definido para usar tabela.

Exemplos
nColuna := 2oBrowse:SetOrder(nColuna)

Skip

Skip
Posiciona o ponteiro do mouse &quot;n&quot; linhas para frente.
Sintaxe TCBrowse(): Skip ( < nSkip> ) --> nSkipped

Parmetros

Nome Tipo Descrio Obrigatrio Referncia nSkip Numrico Indica o nmero de linhas que o ponteiro do mouse ir saltar. X

Retorno

nSkipped ()

Retorna o nmero de linhas que o ponteiro do mouse saltou.

Observaes

Exemplos
oBrowse:Skip(2)

Propriedade

Propriedade aArray aColBmps aColSizes aColumns aHeaders bBmpName bDelOk bDrawSelect bGoBottom bGoTop bHeaderClick

Descrio Indica o array que contm as informaes apresentadas no browse. Indica um array com campos lgicos para determinar se a coluna ou no uma imagem. Indica a largura das colunas. Indica um array com objetos da classe TCColumn (Caso tenha utilizado este componente para inserir colunas). Indica o ttulo dos campos no cabealho. Indica o bloco de cdigo que ser executado, internamente pelo browse, quando trocar a imagem de uma clula. Para mais informaes, consulte a rea "Observaes".

Tipo Vetor Vetor Vetor Vetor Vetor Bloco de cdigo Bloco de Indica o bloco de cdigo que ser executado quando excluir uma linha do browse. cdigo Bloco de Indica o bloco de cdigo que ser executado ao utilizar o teclado para mudar de linha. cdigo Bloco de Indica o bloco de cdigo que ser executado quando o mtodo GoBottom() for chamado. cdigo Bloco de Indica o bloco de cdigo que ser executado quando o mtodo GoTop() chamado. cdigo Indica o bloco de cdigo que ser executado quando clicar, com o boto esquerdo do mouse, no cabealho do Bloco de browse. cdigo

bInRange bLDblClick bLine bLogicLen bSeekChange bSkip bSuperDel bValid

Indica o bloco de cdigo que ser executado para avaliar filtro no registro corrente. Indica o bloco de cdigo que ser executado quando clicar duas vezes, com o boto esquerdo do mouse, sobre o objeto. Indica o bloco de cdigo que ser executado para montar a linha do browse. Indica o bloco de cdigo que ser executado para contar as linhas do browse. Indica o bloco de cdigo que ser executado quando mudar de linha. Indica o bloco de cdigo que ser executado quando mudar de linha. Indica o bloco de cdigo que ser executado quando excluir uma linha do browse.

Indica o bloco de cdigo de validao que ser executado quando o contedo do objeto for modificado. Retorna verdadeiro (.T.), se o contedo vlido; caso contrrio, falso (.F.). cAlias Indica se o objeto utilizado com array ou tabela. cField Indica as propriedades relacionadas com o filtro. cOrderType Indica o tipo de ordenao corrente. Exemplo: "D" igual a ordenao por campo data. cSeek Indica a chave de pesquisa incremental. lAdjustColSize Indica se, verdadeiro (.T.), permite ajustar a largura da clula. lAutoEdit Indica se permite (.T.) ou no (.F.) editar a clula. lDisablePaint Indica se, verdadeiro (.T.), desabilita a atualizao do browse. lHitBottom Indica o tipo de ponteiro do mouse que est na ltima linha do browse. lHitTop Indica o tipo de ponteiro do mouse que est na primeira linha do browse. lHScroll Indica se, verdadeiro (.T.), habilita a barra de rolagem horizontal; caso contrrio, falso (.F.). lJustific Indica se, verdadeiro (.T.), centraliza o texto ou, falso (.F.), alinha o texto esquerda. lUseDefaultColors Indica se, verdadeiro (.T.), utiliza as cores padro do browse. lVScroll Indica se, verdadeiro (.T.), habilita a barra de rolagem vertical. nAt Retorna a linha selecionada. nColOrder Indexa os dados exibidos no browse quando utilizado um alias (tabela no banco de dados). nColPos Indica o posicionamento da coluna no browse.

Bloco de cdigo Bloco de cdigo Bloco de cdigo Bloco de cdigo Bloco de cdigo Bloco de cdigo Bloco de cdigo Bloco de cdigo Caracter Caracter Caracter Caracter Lgico Lgico Lgico Lgico Lgico Lgico Lgico Lgico Lgico Numrico Numrico Numrico

nFreeze nLen nLinhas nRowPos nScrollType

Indica a coluna que ser congelada esquerda. S permitido o congelamento de uma coluna, qualquer valor maior que 1 ser convertido para 1. Indica o nmero total de linhas. Indica o nmero de linhas por clula na vertical. Indica o posicionamento da linha no browse Indica o tipo da barra de rolagem que ser utilizada, sendo: 0=Scroll padro e 1= Scroll VCR. Para mais informaes, consulte a rea "Observaes".

Numrico Numrico Numrico Numrico Numrico

Observaes Em builds superiores 120420A foi implementado o evento de wheel (roda do mouse), permitindo movimentar os itens do componente partir deste dispositivo.

Propriedade
Nesta propriedade, possvel implementar novos eventos no bloco de cdigo, porm seu valor original deve ser mantido para no resultar em erros na aplicao. O valor de "X", no bloco de cdigo, um objeto que contm o nome da imagem definida para a clula.

Exemplo 1:
X:cName = 'br_vermelho'

Exemplo 2:
// Bloco de cdigo original oBrowse:bBMPName := { |X| IF( VALTYPE( X )=='U','',IF( VALTYPE(X)=='C',X, X:CNAME) ) } // Bloco de cdigo com implementaes oBrowse:bBMPName := { |X| ShowColor(X), IF( VALTYPE( X )=='U','',IF( VALTYPE(X)=='C',X, X:CNAME) ) } // Funo implementada no bloco de cdigo

Static Function ShowColor(objColor) // Exibe no console do Servidor a imagem alterada pelo bloco de cdigo Conout(objColor:cName) Return

Propriedade
Nessa propriedade possvel definir as seguintes barras de rolagem:
oBrowse:nScrollType := 0 // Scroll padro

oBrowse:nScrollType := 1 // Scroll VCR

Exemplo
#include "TOTVS.CH" USER FUNCTION TCBrowse() Local oOK := LoadBitmap(GetResources(),'br_verde') Local oNO := LoadBitmap(GetResources(),'br_vermelho') Local aList := {} 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,,; {'','Codigo','Nome','Valor'},{20,50,50,50},; oDlg,,,,,{||},,,,,,,.F.,,.T.,,.F.,,, ) // Seta vetor para a browse oBrowse:SetArray(aBrowse) // Monta a linha a ser exibina 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 cabealho da browse oBrowse:bHeaderClick := {|| alert('bHeaderClick') } // Evento de duplo click na celula oBrowse:bLDblClick := {|| alert('bLDblClick') } // Cria Botoes com metodos bsicos TButton():New( 160, 002, "GoUp()", oDlg,{|| oBrowse:GoUp(), oBrowse:setFocus() },40,010,,,.F.,.T.,.F.,,.F.,,,.F. ) TButton():New( 160, 052, "GoDown()" , oDlg,{|| oBrowse:GoDown(), oBrowse:setFocus() },40,010,,,.F.,.T.,.F.,,.F.,,,.F. ) TButton():New( 160, 102, "GoTop()" , oDlg,{|| oBrowse:GoTop(),oBrowse:setFocus()}, 40, 010,,,.F.,.T.,.F.,,.F.,,,.F.) TButton():New( 160, 152, "GoBottom()", oDlg,{|| oBrowse:GoBottom(),oBrowse:setFocus() },40,010,,,.F.,.T.,.F.,,.F.,,,.F.) TButton():New( 172, 002, "Linha atual", oDlg,{|| alert(oBrowse:nAt) },40,010,,,.F.,.T.,.F.,,.F.,,,.F. )

TButton():New( 172, 052, "Nr Linhas", oDlg,{|| alert(oBrowse:nLen) },40,010,,,.F.,.T.,.F.,,.F.,,,.F. ) TButton():New( 172, 102, "Linhas visiveis", oDlg,{|| alert(oBrowse:nRowCount()) },40,010,,,.F.,.T.,.F.,,.F.,,,.F.) TButton():New( 172, 152, "Alias", oDlg,{|| alert(oBrowse:cAlias) },40,010,,,.F.,.T.,.F.,,.F.,,,.F.) ACTIVATE DIALOG oDlg CENTERED RETURN

Preview Exemplo da classe TCBrowse

Abrangncia Microsiga Protheus 8.11 , Microsiga Protheus 11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server