Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/3279126062824/newLayouttecnologia.css |
Portuguese |
Pagetitle |
---|
...
...
|
...
|
Cria
...
um
...
objeto
...
do
...
tipo
...
grade.
Hierarquia
...
...
- TCBrowse
Construtores
Inclusão de trecho | ||||||
---|---|---|---|---|---|---|
|
Propriedades
Inclusão de trecho | ||||||
---|---|---|---|---|---|---|
|
Métodos
Inclusão de trecho | ||||||
---|---|---|---|---|---|---|
|
Observações
Em builds superiores à 120420A foi implementado o evento de wheel (roda do mouse), permitindo movimentar os itens do componente à partir deste dispositivo.
Exemplos
Bloco de código | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#include "TOTVS.CH"
USER FUNCTION TCBrowse()
Local oOK NewMétodo construtor da classe.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
oObjeto
oBrowse := TCBrowse():New( 01 , 01, 260, 156,,; {'','Codigo','Nome','Valor'},{20,50,50,50},; oDlg,,,,,{||},,,,,,,.F.,,.T.,,.F.,,, ) AddColumnInclui coluna no browse.TCBrowse(): AddColumn ( < oColuna> ) -->
Para mais informações, consulta a documentação da classe TCColumn. // 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.,)) ColPosRetorna o número da coluna posicionada.TCBrowse(): ColPos ( ) --> nColuna nColuna
oBrowse:ColPos() // Result: 2 DrawSelectForça a atualização do browse.TCBrowse(): DrawSelect ( ) --> oBrowse:DrawSelect() GetBrowseRetorna o objeto da classe TCBrowse.TCBrowse(): GetBrowse ( ) --> oBrowse oBrowse
oBrowse:GetBrowse() GetBrwOrderRetorna um array com os títulos, definidos pelo usuário, das colunas.TCBrowse(): GetBrwOrder ( ) --> aTitulos aTitulos
oBrowse:GetBrwOrder() // Result: {"Titulo01","Titulo02","Titulo03"} GetCellRectRetorna o retângulo da célula, do browse, no formato da classe TRect.TCBrowse(): GetCellRect ( ) --> Para mais informações, consulte a documentação da classe TRect. // Variável que receberá as coordenadasoRect := tRect():New(0,0,0,0) // Retorna as coordenadas da célula na variável oRectnColuna := 1nLinha := 2oBrowse:GetCellRect(nColuna, nLinha, oRect) // Result: oRect:nLeft = 186 // oRect:nRight = 183 // oRect:nTop = 223 // oRect:nBottom = 220 GetColSizesRetorna um array com as larguras das colunas.TCBrowse(): GetColSizes ( ) --> aSizes aSizes
oBrowse:GetColSizes() // Result: {20,50,50,50} GoBottomMove o ponteiro do mouse para a última linha do browse.TCBrowse(): GoBottom ( ) --> oBrowse:GoBottom() GoColumnPosiciona o cursor na coluna desejada.TCBrowse(): GoColumn ( < nColuna> ) -->
oBrowse:GoColumn(2) GoDownMove o ponteiro do mouse uma célula abaixo.TCBrowse(): GoDown ( ) --> oBrowse:GoDown() GoLeftMove o ponteiro do mouse para a célula adjacente à esquerda.TCBrowse(): GoLeft ( ) --> oBrowse:GoLeft() GoPositionPosiciona o ponteiro do mouse na linha desejada.TCBrowse(): GoPosition ( < nLinha> ) -->
oBrowse:GoPosition(2) GoRightMove o ponteiro do mouse para a célula adjacente à direita.TCBrowse(): GoRight ( ) --> oBrowse:GoRight() GoTopMove o ponteiro do mouse para a primeira linha do browse.TCBrowse(): GoTop ( ) --> oBrowse:GoTop() GoUpMove o ponteiro do mouse uma célula acima.TCBrowse(): GoUp ( ) --> oBrowse:GoUp() nAtColRetorna a coluna em uma determinada posição do browse.TCBrowse(): nAtCol ( < nColPix>, [ lIncludeFreeze] ) --> nColuna
nColuna
oBrowse:nAtCol(20,.F.) // Result: 3 nRowCountRetorna o número de linhas que estão visíveis no browse.TCBrowse(): nRowCount ( ) --> nLinhas nLinhas
oBrowse:nRowCount() // Result: 50 PageDownMove o ponteiro do mouse para baixo, conforme o número de linha configurado.TCBrowse(): PageDown ( < nLines> ) -->
oBrowse:PageDown(1) PageUpMove o ponteiro do mouse para cima, conforme o número de linha configurado.TCBrowse(): PageUp ( < nLines> ) -->
oBrowse:PageUp(1) ResetLenReinicia o contador de linha do browse.TCBrowse(): ResetLen ( ) --> oBrowse:ResetLen() SetArrayDefine um array para o browse.TCBrowse(): SetArray ( < aDados> ) -->
// Cria o BrowseoBrowse := TCBrowse():New( 01 , 01, 260, 156,,; {'','Codigo','Nome','Valor'},{20,50,50,50},; oDlg,,,,,{||},,,,,,,.F.,,.T.,,.F.,,, )// Vetor com informaçõesaBrowse := {{.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) SetBlkBackColorDefine a cor de fundo das colunas.TCBrowse(): SetBlkBackColor ( < bColor> ) -->
bColor := &("{|| if(aCols[n,Len(aCols[n])],"+Str(CLR_LIGHTGRAY)+","+Str(CLR_WHITE)+")}")oBrowse:SetBlkBackColor(bColor) SetBlkColorDefine a cor da fonte das colunas.TCBrowse(): SetBlkColor ( < bColor> ) -->
bColor := &("{|| if(aCols[n,Len(aCols[n])],"+Str(CLR_WHITE)+","+Str(CLR_BLACK)+")}")oBrowse:SetBlkColor(bColor) SetFilterDefine o filtro para os registros do browse.TCBrowse(): SetFilter ( < cCampo>, [ uVal1], [ uVal2] ) -->
Para utilizar esse método, é necessário que o browse esteja definido para usar tabela. // Cria parametros do filtrocCpofil := "A1_FILIAL"cTopFun := "xFilial('SA1')"cBotFun := cTopFun // Define o filtrooBrowse:SetFilter(cCpoFil, &cTopFun, &cBotFun) SetHeaderImageDefine uma imagem para o cabeçalho do browse.TCBrowse(): SetHeaderImage ( < nColuna>, < cImagem> ) -->
// Define uma imagem na segunda coluna do browseoBrowse:SetHeaderImage(2,"c:\dir\img_cabec.png") SetOrderDefine a ordem de apresentação do browse.TCBrowse(): SetOrder ( < nColuna> ) -->
Para utilizar esse método, é necessário que o browse esteja definido para usar tabela. nColuna := 2oBrowse:SetOrder(nColuna) SkipPosiciona o ponteiro do mouse "n" linhas para frente.TCBrowse(): Skip ( < nSkip> ) --> nSkipped
nSkipped
oBrowse:Skip(2)
PropriedadeNesta propriedade, é possível implementar novos eventos no bloco de código, porém seu valor original deve ser mantido para não resultar em erros na aplicação. O valor de "X", no bloco de código, é um objeto que contém o nome da imagem definida para a célula. Exemplo 1: X:cName = 'br_vermelho'
Exemplo 2: // Bloco de código original // Bloco de código com implementaçõesoBrowse:bBMPName := { |X| ShowColor(X), IF( VALTYPE( X )=='U','',IF( VALTYPE(X)=='C',X, X:CNAME) ) } // Função implementada no bloco de código Static Function ShowColor(objColor) // Exibe no console do Servidor a imagem alterada pelo bloco de código Conout(objColor:cName) Return PropriedadeNessa propriedade é possível definir as seguintes barras de rolagem: oBrowse:nScrollType := 0 // Scroll padrão oBrowse:nScrollType := 1 // Scroll VCR #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 cabeçalho da browse oBrowse:bHeaderClick := {|o, nCol| alert('bHeaderClick') } // Evento de duplo click na celula oBrowse:bLDblClick := {|| alert('bLDblClick') } // Cria Botoes com metodos básicos 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 ReturnExemplo da classe TCBrowse
RETURN
|
Resultado do Exemplo
Abrangência
Microsiga Protheus 8.11 , Microsiga Protheus 11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server
...
Referências
O método NEW() da classe TCBrowse() também pode ser acionado através do comando @ ... BROWSE