Versões comparadas

Chave

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

Fornece um objeto do tipo grid que permite a exibição de dados do tipo array, texto, tabela e query.

 



                 TGrid

 




 

Construtor da classe

.


FWBrowse(): New ( [ oOwner] ) --> oSelf


 


NomeTipoDescriçãoObrigatórioReferência
oOwnerObjetoObjeto proprietário
 

 

 



oSelf
    ()
  • Objeto FWBrowse

oBrowse := FWBrowse():New()                                                                                                                                                                                                    
 

 





 

Ativação da classe.


FWBrowse(): Activate ( [ lFWBrowse] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
lFWBrowseLógicoIndica se a chamada foi acionada pela classe FWBROWSE
  

 





oBrowse:Activate()                                                                                                                                                                                                                      

 



Permite adicionar a informacao de um browse relacionado.


FWBrowse(): AddBrwRelation ( < oBrwRel> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
oBrwRelObjetoBrowse que se deseja informar como relacionadoX
 

 

 





Adiciona uma coluna no Browse em tempo de execução.


FWBrowse(): AddColumn ( < aColumn> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
aColumnArray of RecordIndica o array com informações para criação da coluna.X
 

aColumn Estrutura da Coluna

[n][01] Título da coluna
[n][02] Code-Block de carga dos dados
[n][03] Tipo de dados
[n][04] Máscara
[n][05] Alinhamento (0=Centralizado, 1=Esquerda ou 2=Direita)
[n][06] Tamanho
[n][07] Decimal
[n][08] Indica se permite a edição
[n][09] Code-Block de validação da coluna após a edição
[n][10] Indica se exibe imagem
[n][11] Code-Block de execução do duplo clique
[n][12] Variável a ser utilizada na edição (ReadVar)
[n][13] Code-Block de execução do clique no header
[n][14] Indica se a coluna está deletada
[n][15] Indica se a coluna será exibida nos detalhes do Browse
[n][16] Opções de carga dos dados (Ex: 1=Sim, 2=Não)
[n][17] Id da coluna

[n][18] Indica se a coluna é virtual

 



Permite adicionar uma configuração customizada na opção de configuração do Browse.


FWBrowse(): AddCustomConfig ( < cTitle>, < bView>, [ bSave] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
cTitleCaracterTítulo a ser exibido na configuração.X
 

bViewBloco de códigoCode-Block de carga da janela de configuraçãoX
 

 


bSaveBloco de códigoCode-Block de gravação das configurações efetuadas pelo usuário.
  



oBrowse:AddCustomConfig("Filial",{|o| MBrFilialCfg(o,Self) }, { || MBrSaveFilCfg(Self) } )                                                                                                           

 



 

Permite adicionar um filtro na lista de opções de filtros do Browse. 


FWBrowse(): AddFilter ( < cFilter>, < cExpAdvPL>, [ lNoCheck], [ lSelected], [ cAlias], [ lFilterAsk], [ aFilParser], [ cID] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
cFilterCaracterTítulo que será exibido no filtroX
 

cExpAdvPLCaracterExpressão do filtro em formato AdvPL.X
 

lNoCheckLógicoIndica que o filtro não poderá ser marcado/desmarcado.
  


lSelectedLógicoIndica que o filtro deverá ser apresentado como marcado/desmarcado.
  


cAliasCaracterIndica que o filtro é de relacionamento entre as tabelas e a expressão AdvPL deve ser informado obrigatoriamente com expressões SQL.
  


lFilterAskLógico
Indica se o filtro pergunta as informações na execução.  
Não suportado

aFilParserArray of Record
Array contendo informações parseadas do filtro.  
Não suportado

cIDCaracterNome do identificador do filtro
  

 




oBrowse:AddFilter(cTitle,xCondition)

 

 

Permite adicionar um linha no Browse.

Sintaxe

FWBrowse(): AddLine ( ) -->


Observação

Não recomendamos o uso dos filtros da classe FwBrowse com Browses do tipo Array ( DataArray() == .T. )


AddLegend


Permite adicionar legendas no Browse

 

 

Permite adicionar uma coluna com a opção de marca e desmarca

.



Sintaxe

FWBrowse():

AddMarkColumns

AddLegend ( <

bMark>, [ bLDblClick], [ bHeaderClick]

xCondition>, < cColor>, <cTitle>, <cID>, <lFilter>) -->



Parâmetros
 


NomeTipoDescriçãoObrigatórioReferência
bMark
xCondition
Bloco de código
ExpressãoExpressão AdvPL ou Code-Block com a regra
e deverá retornar a imagem referente a marcado/desmarcado.
da legendaX
cColorCaracterCor que identifica a regraX
 

cTitle
bLDblClickBloco de códigoCode-Block com a execução do duplo clique na coluna.  bHeaderClickBloco de códigoCode-Block com a execução do clique no header da coluna.  

 

 

 
CaracterTítulo da legenda, utilizado na janela de visualização das legendas

cIDCaracterId

lFilterLógicoIndica se deve ser exibido filtro da legenda



Exemplos

oBrowse:AddLegend(xCondition,cColor,cTitle)





Permite adicionar um linha no Browse.


FWBrowse(): AddLine ( ) -->



Permite adicionar uma coluna

de status

com a opção de marca e desmarca.


FWBrowse():

AddStatusColumns

AddMarkColumns ( <

bStatus>

bMark>, [ bLDblClick], [ bHeaderClick] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
bStatus
bMarkBloco de códigoCode-Block com a regra e deverá retornar a imagem referente
ao status
a marcado/desmarcado.X
 

bLDblClickBloco de códigoCode-Block com a execução do duplo clique na coluna.


bHeaderClickBloco de códigoCode-Block com a execução do clique no header da coluna.




Permite adicionar uma coluna de status.


FWBrowse(): AddStatusColumns ( < bStatus>, [ bLDblClick] ) -->



NomeTipoDescriçãoObrigatórioReferência
bStatusBloco de códigoCode-Block com a regra e deverá retornar a imagem referente ao status.X
bLDblClickBloco de códigoCode-Block com a execução do duplo clique na coluna.



  

 

 

 


Retorna o Alias utilizado no Browse.


FWBrowse(): Alias ( ) --> cAlias

cAlias
    (caracter)
  • Alias utilizado no Browse.

 



Executa o Code-Block definido no método SetAllOK(bAllOK).


FWBrowse(): AllOk ( ) --> lReturn

lReturn
    (logico)
  • Retorno da execução do Code-Block.

 



Retorna

 

Retorna

a posição atual do registro.


FWBrowse(): At ( ) --> nAt

nAt
    ()
  • Posição atual do registro.

 



 

Retorna o componente Browse (TGRID).


FWBrowse(): Browse ( ) --> oBrowse

oBrowse
    ()
  • Objeto Browse (TGRID).
 



 

Retorna o nome da classe (FWBROWSE).


FWBrowse(): ClassName ( ) --> cClassName

cClassName
    (caracter)
  • Nome da classe.

 



Executa a limpeza dos filtros estendidos realizados no Browse.



FWBrowse(): CleanExFilter ( ) -->

 



Realizada a limpeza dos filtros utilizados no Browse.


FWBrowse(): CleanFilter ( ) -->

 



Elimina as configurações realizadas no Browse do perfil do usuário.


FWBrowse(): CleanProfile ( ) -->

 



Retorna a coluna posicionada no Browse


FWBrowse(): ColPos ( [ lDeleted] ) --> nColPos


 

 


NomeTipoDescriçãoObrigatórioReferência
lDeletedLógicoIndica que deve considerar as colunas deletadas.
  



nColPos
    ()
  • Coluna posicionada.
 



 

Retorna o objeto de dados no Browse.


FWBrowse(): Data ( ) --> oData

oData
    ()
  • Retorna o objeto de dados do Browse

 



Retorna se o dados apresentados no Browse é de Array.


FWBrowse(): DataArray ( ) --> lDataArray

lDataArray
    (logico)
  • Indica que o Browse utiliza informações de um array.
 



 

Retorna se o dados apresentados no Browse é de Query.


FWBrowse(): DataQuery ( ) --> lDataQuery

lDataQuery
    (logico)
  • Indica que o Browse utiliza informações de uma Query.



 

Retorna se o dados apresentados no Browse é de Tabela.


FWBrowse(): DataTable ( ) --> lDataTable

lDataTable
    (logico)
  • Indica que o Browse utiliza informações de uma Tabela.
 



 

Retorna se o dados apresentados no Browse é de Texto.


FWBrowse(): DataText ( ) --> lDataText

lDataText
    (logico)
  • Indica que o Browse utiliza informações de um arquivo Texto.
 



Indica se utiliza filtro para tabelas CODEBASE.


FWBrowse(): DBFFilter ( ) --> lDBFFilter

lDBFFilter
    (logico)
  • Indica se utiliza filtro para tabelas CODEBASE.
 



Método de destruição da classe.


FWBrowse(): DeActivate ( [ lFreeChildren] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
lFreeChildrenLógicoIndica se é necessário limpar a classe proprietária. (oOwner)



 


Compatibilização com a MBrowse antiga.


FWBrowse(): Default ( ) -->

 



 

Indica

Indica que uma determinada coluna está deletada.


FWBrowse(): DelColumn ( < nColumn> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
nColumnNuméricoIndica a coluna que será marcada como deletada.X
 

 

 




 

Permite realizar a exclusão de filtros.


FWBrowse(): DeleteFilter ( [ cID] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
cIDCaracterIdentificador do Filtro




 

Executa o Code-Block, definido no método SetDelete(lDelete,bDelete), para deleção de uma linha no Browse.


FWBrowse(): DelLine ( ) -->

 



 

Executa o Code-Block, definido no método SetDelOk(bDelOK), para validar a deleção de uma linha no Browse.


FWBrowse(): DelOk ( ) --> lReturn

lReturn
 



Desabilita a utilização do Browse.


FWBrowse(): Disable ( ) -->

 



 

Desabilita a utilização das configurações do Browse.


FWBrowse(): DisableConfig ( ) -->



 

Desabilita a utilização do filtro no Browse.                                                                                                                  


FWBrowse(): DisableFilter ( ) -->

 



 

Desabilita a utilização do localizador de registro no Browse.


FWBrowse(): DisableLocate ( ) -->

Desabilita a impressão das informações disponíveis no Browse.                                                                                        


FWBrowse():

DisableReport

DisableLocate ( ) -->

 



Desabilita a gravação das configurações realizadas no Browse.                                                                                         


FWBrowse(): DisableSaveConfig ( ) -->

 



 

Desabilita a utilização da pesquisa no Browse.                                                                                                             


FWBrowse(): DisableSeek ( ) -->



 

Habilita a utilização do Browse.


FWBrowse(): Enable ( ) -->                                                                                                                                                                                                             

 



 

Aplica os filtros realizados no Browse.


FWBrowse(): ExecuteFilter ( [ lBrwUpdate] ) -->                                                                                                                                                                                


 


NomeTipoDescriçãoObrigatórioReferência
lBrwUpdateLógicoAtualiza o Browse e posiciona no primeiro registro.
  

 

 




Observação

Não recomendamos o uso dos filtros da classe FwBrowse com Browses do tipo Array ( DataArray() == .T. )




Indica se o Browse está filtrado.                                                                                                                             


FWBrowse(): Filtrate ( ) --> lFiltrate

lFiltrate
    (logico)
  • Indica se o Browse está filtrado.

 

 




Retorna o objeto FWFilter.


FWBrowse(): FWFilter ( ) --> oFWFilter                                                                                                                                                                                            

oFWFilter
    ()
  • Retorna o objeto FWFilter.




 

Retorna a cor de fundo do Browse.


FWBrowse(): GetBackColor ( ) --> nBackColor                                                                                                                                                                                   

nBackColor
    ()
  • Retorna a cor de fundo do Browse




Retorna a cor alternada do Browse.


FWBrowse(): GetClrAlterRow ( ) --> nClrAlterRow                                                                                                                                                                              

nClrAlterRow
    ()
  • Retorna a cor alternada do Browse

 

 




Retorno um objeto tipo FWBrwColumn da coluna passada.                                                                                              


FWBrowse(): GetColumn ([nCol])

oCol
  • Retorna o objeto da coluna posicionada.




Retorna a descrição do Browse.


FWBrowse(): GetDescription ( ) --> cDescription                                                                                                                                                                               

cDescription
    (caracter)
  • Retorna a descrição do Browse



Retorna o filtro padrão do Browse


FWBrowse(): GetFilterDefault ( ) --> cFilterDefault                                                                                                                                                                            

cFilterDefault
    (caracter)
  • Retorna o filtro padrão do Browse.

 

 




 

Retorna

Retorna a cor da fonte do Browse.


FWBrowse(): GetForeColor ( ) --> cForeColor                                                                                                                                                                                   

cForeColor
    (caracter)
  • Retorna a cor da fonte do Browse.




Retorna o objeto FWMARKBROWSE utilizado na passagem de parâmetros na execução das rotinas na FWFORMBROWSE;                     


FWBrowse(): GetObjMark ( ) --> oObjMark

oObjMark
    ()
  • Indica o objeto FWMARKBROWSE
 

 





 

Retorna o identificador do Browse utiliza na gravação das configurações no profile do usuário. Deve ser utilizado quando existir mais de um Browse na rotina.


FWBrowse(): GetProfileID ( ) --> cProfileID

cProfileID
    (caracter)
  • Identificador do Browse
 

 





 

Retorna a Query que esta sendo utilizada no Browse.                                                                                                     


FWBrowse(): GetQuery ( ) --> cQuery

cQuery
    (caracter)
  • Indica a Query para a criação do Browse.

 

 




Posiciona no último registro do Browse.                                                                                                                    


FWBrowse(): GoBottom ( [ lCallRefresh] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
lCallRefreshLógicoIndica que foi chamado através do método Refresh().
  

 

 

 








Posiciona na coluna desejada.                                                                                                                               


FWBrowse(): GoColumn ( [ nColumn] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
nColumnNuméricoIndica a coluna que deseja posicionar.
  

 

 

 








 

Salta uma ou mais linhas para baixo do item posicionado.                                                                                                

FWBrowse(): GoDown ( [ nOffSet], [ lReport] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
nOffSetNuméricoIndica a quantidade de linhas a serem saltadas.
  


lReportLógicoIndica se é impressão dos itens do Browse.
  

 

 

 







Salta uma página para baixo do item posicionado.                                                                                                         


FWBrowse(): GoPgDown ( ) -->

Salta uma página para cima do item posicionado.


FWBrowse(): GoPgUp ( ) -->

 

 





 

Posiciona em um determinado registro do Browse.                                                                                                        


FWBrowse(): GoTo ( < nGoto>, [ lRefresh] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
nGotoNuméricoIndica o item que deverá ser posicionado.X
 

lRefreshLógicoIndica se deverá forçar a atualização do Browse.
  

 

 

 








Posiciona

 

Posiciona

no primeiro registro do Browse.                                                                                                                 


FWBrowse(): GoTop ( [ lForce] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
lForceLógicoIndica que deverá forçar o posicionamento.
 
 

 

 

 








 

Salta uma ou mais linhas para cima do item posicionado.                                                                                                


FWBrowse(): GoUp ( [ nOffSet] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
nOffSetNuméricoIndica a quantidade de linhas a serem saltadas.
   

 

 








Permite tornar o Browse invisível                                                                                                                           


FWBrowse(): Hide ( ) -->

 

 





Executa o Code-Block, definido no método SetLineOk(bLineOk), para validação da linha posicionada.                                              


FWBrowse(): LineOk ( ) --> lRet

lRet
    (logico)
  • Indica se a linha é válida.
 



Executa a atualização das informações de uma determinada linha do Browse.                                                                         


FWBrowse(): LineRefresh ( [ nAt] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
nAtNuméricoIndica a linha que será atualizada.
  

 

 

 




Observação:

O parâmetro nAt que refere-se a linha, começa em zero, ele índice é enviado para o método TGrid:SetRowData do binário.





Retorna a quantidade de

 

Retorna a quantidade de

registros disponíveis para o browse.                                                                                           


FWBrowse(): LogicLen ( ) --> nLogicLen

nLogicLen
    ()
  • Indica a quantidade de registros disponíveis.Quando o Browse for de tabela ou Query será retornado o último registro para a orderm selecionada.

 

 





Retorna se a selecão de um filtro é obrigatório para a apresentação do browse.                                                                       


FWBrowse(): ObligateFilter ( ) --> lObligateFilter

lObligateFilter
    (logico)
  • Indica se a selecão de um filtro é obrigatório para a apresentação do browse

 

 


Observação

Não recomendamos o uso dos filtros da classe FwBrowse com Browses do tipo Array ( DataArray() == .T. )



 

Indica se a opção de configuração do Browse está habilitada.                                                                                           


FWBrowse(): OptionConfig ( ) --> lOptionConfig

lOptionConfig
    (logico)
  • Indica se a opção de configuração está habilitada.

 

 





Indica se a opção de impressão das informações do Browse está habilitada.                                                                           


FWBrowse(): OptionReport ( ) --> lOptionReport

lOptionReport
    (logico)
  • Indica se a opção de impressão está habilitada.
 

 





Executa a atualização das informações no Browse.                                                                                                        


FWBrowse(): Refresh ( [ lGoTop] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
lGoTopLógicoIndica que deverá ser posicionado no primeiro registro do Browse.
 
 

 

 

 








 

Executa a impressão das informações do Browse.                                                                                                        


FWBrowse(): Report ( ) -->

 



Compatibilidade com o Browse antigo.                                                                                                                     


FWBrowse(): Reset ( ) -->

 

 





 

Compatibilidade com o Browse antigo.                                                                                                                     


FWBrowse(): ResetLen ( ) -->

 



 

Indica a Code-Block executado para adicionar linha no browse.                                                                                          


FWBrowse(): SetAddLine ( < bAdd> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
bAddBloco de códigoIndica a Code-Block executado para adicionar linha no browse.X
  

 

 







Indica o Code-Block que será executado após a inclusão de uma linha.                                                                                 


FWBrowse(): SetAfterAddLine ( < bAfterAddLine> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
bAfterAddLineBloco de códigoCode-Block a ser executado após a inclusão de uma linha.X
 

 

 

 







 

Indica o alias da tabela que será utilizada no Browse.                                                                                                     


FWBrowse(): SetAlias ( < cAlias> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
cAliasCaracterIndica o alias da tabelaX



           SetAllOk

Indica o Code-Block executado para validar todos itens do Browse.                                                                                     


FWBrowse(): SetAllOk ( < bAllOk> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
bAllOkBloco de códigoCode-Block para validar todos itens do Browse.X
 

 

 

 






Indica o array utilizado para apresentação dos dados no Browse.                                                                                       


FWBrowse(): SetArray ( < aArray> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
aArrayArray of RecordArray utilizado para apresentação dos dados no Browse.X
  

 

 







Indica a cor de fundo do Browse.                                                                                                                           


FWBrowse(): SetBackColor ( < nBackColor> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
nBackColorNuméricoCor de fundo do Browse.X
 

 

 

 







Indica a cor de fundo para a linha atual.                        

SetBlkBackColor

 

Indica a cor de fundo para a linha atual.

                                                                                           

                       


FWBrowse(): SetBlkBackColor ( < bBackColor> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
bBackColorBloco de códigoCodigo de bloco que retorna a cor de fonte para a linha atual.X
 

 

 




 

Indica a cor de fonte para a linha atual.                                                                                                                     


FWBrowse(): SetBlkColor ( < bBlkColor> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
bBlkColorBloco de códigoCodigo de bloco que retorna a cor de fonte para a linha atual.X
 

 

 

 







Indica a Code-Block executado após a mudança de uma linha.                                                                                           


FWBrowse(): SetChange ( < bChange> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
bChangeBloco de códigoCode-Block executado após a mudança de uma linha.X
 

 

 

 







Indica a cor alternada do Browse.                                                                                                                            


FWBrowse(): SetClrAlterRow ( < nClrAlterRow> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
nClrAlterRowNuméricoIndica a cor de alternada do Browse.X
 

 

 

 







 

Indica que o Browse exibe dados através de um array.                                                                                                   


FWBrowse(): SetDataArray ( ) -->

 

 


Observação

Não recomendamos o uso dos filtros da classe FwBrowse com Browses do tipo Array ( DataArray() == .T. )



Indica que o Browse exibe

 

Indica que o Browse exibe

dados através de uma Query, porém, a Query cria um arquivo temporário atualizando de acordo com a demanda.  


FWBrowse(): SetDataQuery ( ) -->

 

 





 

Indica que o Browse exibe dados através de uma tabela.                                                                                                 


FWBrowse(): SetDataTable ( ) -->

 

 





Indica que o Browse exibe dados através de um arquivo texto.                                                                                           


FWBrowse(): SetDataText ( ) -->

 

 





Indica que o usuário pode excluir linhas no Browse.                                                                                                      


FWBrowse(): SetDelete ( [ lDelete], [ bDelete] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
lDeleteLógicoIndica se o usuário pode excluir linhas no Browse.
  


bDeleteBloco de códigoCode-Block executado na exclusão da linha.
  

 

 

 








Indica o Code-Block executado para validar a exclusão da linha.                                                                                        


FWBrowse(): SetDelOk ( < bDelOK> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
bDelOKBloco de códigoCode-Block executado para validar a exclusão da linha.X
 

 

 

 






Indica a descrição do Browse.                                                                                                                               


FWBrowse(): SetDescription ( < cDescription> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
cDescriptionCaracterIndica a descrição do BrowseX
  

 

 







Indica o Code-Block executado no duplo clique do item no Browse.                                                                                     


FWBrowse(): SetDoubleClick ( < bLDblClick> ) -->


 


Nome
Nome
TipoDescriçãoObrigatórioReferência
bLDblClickBloco de códigoCode-Block executado no duplo clique do item no Browse.X
 

 

 

 








Indica os campos que serão apresentados na edição de filtros.                                                                                        

SetEditCell

 

Indica que será permitido a edição da célula no Browse.

Esse método só é válido para browse de tabela ou de array. Para browse de array é necessário na criação da FWBrwColumn definir as colunas como editáveis através do método SetEdit e definir o readvar da coluna (pelo método SetReadVar)


FWBrowse():

SetEditCell ( [ lEditCell], [ bValidEdit]

SetFieldFilter ( < aFields> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
lEditCell
aFields
LógicoIndica se permite a edição de células.  bValidEditBloco de códigoCode-Block executado para validar a edição da célula.  

 

 

Array of RecordArray contendo os campos apresentados na edição de filtros.

O formato para do parâmetroaFields deve ser:

[n][01] Campo
[n][02] Título
[n][03] Tipo de dado
[n][04] Tamanho
[n][05] Decimal
[n][06] Picture

Exemplo:
{ {"CAMPO1", "Campo 1", "C", 10, 0, "@!"},  {"CAMPO2", "Campo 2", "D", 8, 0, ""} }

X



Observação

Não recomendamos o uso dos filtros da classe FwBrowse com Browses do tipo Array ( DataArray() == .T. )



Indica o arquivo texto que será utilizado no Browse

 

 

Indica os campos que serão apresentados na edição de filtros

.                                                                                                      


FWBrowse():

SetFieldFilter

SetFile ( <

aFields>

cFile>, [ cCharSeparator] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
aFields
cFileCaracterArquivo texto. Ex.: "\Browse\Teste.txt"X
cCharSeparatorCaracterIndica o caracter separador dos dados. Ex.: ";" para "dados1;dados2;dados3"




Indica o limite superior e inferior de um campo respeitando a classificação das informações atual.        

Array of RecordArray contendo os campos apresentados na edição de filtros.X 

 

 

 

                 

SetFile

 

Indica o arquivo texto que será utilizado no Browse.

                 

                                                                                   

  


FWBrowse():

SetFile

SetFilter ( <

cFile>

cCpoFil>, < cTopFun>, [

cCharSeparator

cBotFun] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
cFile
cCpoFilCaracter
Arquivo texto. Ex.: "\Browse\Teste.txt"
Indica o campo a ser considerado o limite superior e inferior.X
 

cTopFun
cCharSeparator
CaracterIndica o
caracter separador dos dados. Ex.: ";" para "dados1;dados2;dados3"
limite superior.X
cBotFunArray of RecordIndica o limite inferior.



Observação

Não recomendamos o uso dos filtros da classe FwBrowse com Browses do tipo Array ( DataArray() == .T. )



Indica o filtro padrão do Browse.              

  

 

 

 

Indica o limite superior e inferior de um campo respeitando a classificação das informações atual.

                                             

  

                                                               


FWBrowse():

SetFilter

SetFilterDefault ( <

cCpoFil>, < cTopFun>, [ cBotFun]

cFilterDefault> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
cCpoFil
cFilterDefaultCaracterIndica o
campo a ser considerado o limite superior e inferior
filtro AdvPL para o Browse.X
 



Observação

Não recomendamos o uso dos filtros da classe FwBrowse com Browses do tipo Array ( DataArray() == .T. )



Indica o relacionamento de filtros para o Browse.

cTopFunCaracterIndica o limite superior.X cBotFunArray of RecordIndica o limite inferior.  

 

 

 

 

Indica o filtro padrão do Browse.  

                                                                                                         

               


FWBrowse():

SetFilterDefault

SetFilterRelation ( < aFilterRelation>, <

cFilterDefault>

bChgFields> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
cFilterDefaultCaracter
aFilterRelationArray of RecordArray contendo os itens do relacionamento.X
bChgFieldsBloco de códigoIndica o Code-Block executado para trocar os campos para o filtro
Indica o filtro AdvPL para o Browse
.X
 



Observação

Não recomendamos o uso dos filtros da classe FwBrowse com Browses do tipo Array ( DataArray() == .T. )



Força o foco no objeto Browse.            

 

 

 

 

Indica o relacionamento de filtros para o Browse.  

                                                                                                                 


FWBrowse():

SetFilterRelation

SetFocus (

< aFilterRelation>, < bChgFields>

) -->



Indica a fonte do Browse.        

 

NomeTipoDescriçãoObrigatórioReferência
aFilterRelationArray of RecordArray contendo os itens do relacionamento.X 
bChgFieldsBloco de códigoIndica o Code-Block executado para trocar os campos para o filtro.X 

 

 

 

                 

SetFocus

 

Força o foco no objeto Browse.

                                                                                                     

                       

  


FWBrowse():

SetFocus

SetFontBrowse ( [ oFont] ) -->

 

 



NomeTipoDescriçãoObrigatórioReferência
oFontObjetoIndica o objeto TFont utilizado no Browse.






Indica a cor da fonte no

Indica a fonte do

Browse.                                                                                                                            

        


FWBrowse():

SetFontBrowse ( [ oFont]

SetForeColor ( < nForeColor> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
oFont
nForeColor
Objeto
NuméricoCor da fonte
Indica o objeto TFont utilizado
no Browse.
 
X
 






Indica que o Browse utiliza agrupamento de informações

 

 

 

 

Indica a cor da fonte no Browse

.                                                                                            

                               

  


FWBrowse():

SetForeColor

SetGroup ( <

nForeColor>

bGroup>, [ lOpen] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
nForeColor
bGroup
Numérico
Bloco de códigoCode-Block com a regra do agrupamento retornando um valor lógico (.T. = Quebra, .F. = Filho )
Cor da fonte no Browse
.X
 

lOpen

 

 

 

 

LógicoIndica que o agrupamento será apresentado com os sub-itens visíveis na abertura do Browse.






Indica a imagem que será apresentada ao lado do título da coluna.

Indica que o Browse utiliza agrupamento de informações.  

                                                                                 

       

  


FWBrowse():

SetGroup

SetHeaderImage ( <

bGroup>, [ lOpen]

nColumn>, < cResource> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
bGroup
nColumn
Bloco de códigoCode-Block com a regra do agrupamento retornando um valor lógico (.T. = Quebra, .F. = Filho ).X 
NuméricoIndica coluna que será apresentada a imagem.X
cResourceCaracterIndica a imagem que será apresentada ao lado da coluna.X







Indica que o usuário poderá inserir novas linhas no Browse.          

lOpenLógicoIndica que o agrupamento será apresentado com os sub-itens visíveis na abertura do Browse.  

 

 

 

 

Indica a imagem que será apresentada ao lado do título da coluna.

                                                                                 

  


FWBrowse():

SetHeaderImage ( < nColumn>, < cResource>

SetInsert ( [ lInsert] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
nColumn
lInsert
Numérico
LógicoIndica
coluna que será apresentada a imagem
que poderá inserir novas linhas.
X cResourceCaracterIndica a imagem que será apresentada ao lado da coluna.X 

 

 

 








Indica os itens que serão disponibilizados para a configuração do duplo clique pelo usuário.                          

SetIdAlias

 

Indica o ID para Browses que trabalham com Left Join.

                           

                                                                     


FWBrowse():

SetIdAlias

SetItemDoubleClick ( <

cIdAlias>

aItemDoubleClick> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
cIdAlias
aItemDoubleClick
Caracter
Array of RecordArray contendo as informações que serão apresentadas para configuração do duplo clique
Indica o ID para Browses que trabalham com Left Join
.X
 

 

 

 





Indica

que o usuário poderá inserir novas linhas no Browse

os itens que serão disponibilizados para a configuração do clique no header pelo usuário.                                                

                                           

  


FWBrowse():

SetInsert ( [ lInsert]

SetItemHeaderClick ( < aItemHeaderClick> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
lInsert
aItemHeaderClick
LógicoIndica que poderá inserir novas linhas.  

 

 

 

 

Array of RecordIndica
Indica
os itens que serão disponibilizados para a configuração do
duplo
clique no header pelo usuário.X






Indica a linha do arquivo texto que deverá ser considerado para ínicio da leitura no Browse.                                                      

 

  


FWBrowse():

SetItemDoubleClick

SetLineBegin ( <

aItemDoubleClick>

nLineBegin> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
aItemDoubleClick
nLineBegin
Array of RecordArray contendo as informações que serão apresentadas para configuração do duplo clique
NuméricoIndica a linha inicial do arquivo texto.X
 

 

 







Indica a altura da linha no Browse.                                  

SetItemHeaderClick

 

Indica os itens que serão disponibilizados para a configuração do clique no header pelo usuário.

                                               

  SintaxeFWBrowse

                                     


FWBrowse():

SetItemHeaderClick ( < aItemHeaderClick>

SetLineHeight ( [ nHeight] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
aItemHeaderClick
nHeight
Array of Record
NuméricoIndica
os itens que serão disponibilizados para a configuração do clique no header pelo usuário.X 

 

 

 

a altura da linha






Indica o Code-Block executado na troca de linha do Browse.                                    

SetLineBegin

 

Indica a linha do arquivo texto que deverá ser considerado para ínicio da leitura no Browse.

                                                     

  


FWBrowse():

SetLineBegin

SetLineOk ( <

nLineBegin>

bLineOk> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
nLineBegin
bLineOk
Numérico
Bloco de códigoCode-Block executado na troca de linha
Indica a linha inicial do arquivo texto
.X
 

 

 

 







Habilita a utilização do localizador de registros no Browse.                

       SetLineHeight

 

Indica a altura da linha no Browse.

                                                                           

                                             


FWBrowse():

SetLineHeight

SetLocate ( [

nHeight

bAction] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
nHeightNuméricoIndica a altura da linha  

 

 

 

bActionBloco de códigoCode-Block executado para localização das informações, caso não seja informado será utilizado o padrão.






Indica que a legenda será representada por números.      

 

Indica o Code-Block executado na troca de linha do Browse.

                                                                                              


FWBrowse():

SetLineOk ( < bLineOk>

SetNumberLegend ( [ lNumber] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
bLineOk
lNumber
Bloco de códigoCode-Block executado na troca de linha.X 

 

 

 

LógicoIndica que a legenda será representada por números.






Indica o objeto FWMARKBROWSE utilizado na passagem de parâmetros na execução das rotinas na FWFORMBROWSE.                        

 SetLocate

 

Habilita a utilização do localizador de registros no Browse.                


FWBrowse(): SetObjMark ( < oObjMark> ) -->



NomeTipoDescriçãoObrigatórioReferência
oObjMarkObjetoIndica o objeto FWMARKBROWSEX






Indica se a selecão de um filtro é obrigatório para a apresentação do browse.                                                                          

   


FWBrowse():

SetLocate

SetObligateFilter ( [

bAction

lObligateFilter], [ lCanCancel] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
bAction
lObligateFilterLógicoIndica que o filtro será solicitado na entrada do Browse

lCanCancelLógicoIndica que permite o cancelamento na tela de filtros.



Observação

Não recomendamos o uso dos filtros da classe FwBrowse com Browses do tipo Array ( DataArray() == .T. )



Indica o container para criação do Browse.    

Bloco de códigoCode-Block executado para localização das informações, caso não seja informado será utilizado o padrão.  

 

 

 

                 

SetNumberLegend

 

Indica que a legenda será representada por números.    

                                                                                       

        


FWBrowse():

SetNumberLegend

SetOwner ( [

lNumber

oOwner] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
lNumberLógico
oOwnerObjetoIndica o container para criação do Browse.





SetEditCell


Indica que será permitido a edição de células no Browse



Sintaxe

FWBrowse(): SetEditCell ( <lEditCell>,<bValidEdit> ) -->



Parâmetros


NomeTipoDescriçãoObrigatórioReferência
lEditCellLógicoIndica se permite a edição de célulasX
bValidEditBloco de códigoCode-Block executado para validar a edição da célula         X




Indica o bloco de pré-validação para a edição de celula, o bloco devera retorna .T. para abrir a edição e .F. para nao abrir.

a legenda será representada por números.  

 

 

 

 

Indica o objeto FWMARKBROWSE utilizado na passagem de parâmetros na execução das rotinas na FWFORMBROWSE.                        


FWBrowse():

SetObjMark

SetPreEditCell ( <

oObjMark>

bBlock> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
oObjMark
bBlock
ObjetoIndica o objeto FWMARKBROWSEX 
Bloco de códigoCode-Block com a funcao de validação. O bloco recebe como parametro o objeto do Browse, a coluna ,e o caracter precionado.X






Define o identificador do Browse utiliza na gravação das configurações no profile do usuário. Deve ser utilizado quando existir mais de um Browse na rotina.


FWBrowse(): SetProfileID ( < cProfileID> ) -->



NomeTipoDescriçãoObrigatórioReferência
cProfileIDCaracterIdentificador do BrowseX


Obs.: o tamanho máximo do ID deve ser de 4 (quatro) caracteres





Indica a Query que será utilizada para criação do Browse.  

 

 

 

                 

SetObligateFilter

 

Indica se a selecão de um filtro é obrigatório para a apresentação do browse.

                                                                         


FWBrowse():

SetObligateFilter ( [ lObligateFilter], [ lCanCancel]

SetQuery ( < cQuery> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
lObligateFilter
cQuery
Lógico
CaracterIndica
que o filtro será solicitado na entrada
a Query para a criação do Browse.
  lCanCancelLógicoIndica que permite o cancelamento na tela de filtros.  

 

 

 

X


Observação: A partir da versão Lib 20161010, não deve ser informado o campo R_E_C_N_O_ na query, pois tratasse de um campo exclusivo na criação de arquivos temporários no banco de dados.





Indica os índices utilizados pela Query na

 

Indica o container para

criação do Browse.                                                                                        

                       

  


FWBrowse():

SetOwner ( [ oOwner]

SetQueryIndex ( < aIndex> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
oOwner
aIndex
Objeto
Array of RecordIndica os índices utilizados pela Query na criação
Indica o container para criação
do Browse.
  

 

 

 

X






Habilita a utilização da pesquisa de registros no Browse.                                                                                            

SetPreEditCell

Indica o bloco de pré-validação para a edição de celula, o bloco devera retorna .T. para abrir a edição e .F. para nao abrir.

 

  


FWBrowse():

SetPreEditCell ( < bBlock>

SetSeek ( [ bAction], [ aOrder] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
bBlock
bActionBloco de códigoCode-Block
com
executado para a
funcao de validação. O bloco recebe como parametro o objeto do Browse, a coluna ,e o caracter precionado.X 

 

 

 

pesquisa de registros, caso não seja informado será utilizado o padrão.

aOrderArray of RecordArray contendo as informações para criação dos detalhes da pesquisa.

Estrutura do array:
                [n,1] Título da pesquisa
         
SetProfileID

 

Define o identificador do Browse utiliza na gravação das configurações no profile do usuário. Deve ser utilizado quando existir mais de um Browse na rotina.

Sintaxe

FWBrowse(): SetProfileID ( < cProfileID> ) -->

 

NomeTipoDescriçãoObrigatórioReferência
cProfileIDCaracterIdentificador do BrowseX 

 

 

 

       
      [n,2,n,1] LookUp
                [n,2,n,2] Tipo de dados
         
SetQuery
 
Indica a Query que será utilizada para criação do Browse.    
    [n,2,n,3] Tamanho
                [n,2,n,4] Decimal
                [n,2,n,5] Título do campo
                [n,2,n,6] Máscara
                [n,2,n,7] Nome Físico do campo - Opcional - é ajustado no programa
                [n,3] Ordem da pesquisa
               
Sintaxe

FWBrowse(): SetQuery ( < cQuery> ) -->

 

NomeTipoDescriçãoObrigatórioReferência
cQueryCaracterIndica a Query para a criação do Browse.X 

 

 

 

[n,4] Exibe na pesquisa






Indica o Code-Block executado na mudança da ordem de pesquisa.                                

SetQueryIndex

 

Indica os índices utilizados pela Query na criação do Browse.      

                                                 

                                  


FWBrowse():

SetQueryIndex ( < aIndex>

SetSeekChange ( [ bSeekChange] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
aIndexArray of RecordIndica os índices utilizados pela Query na criação do Browse.X 

 

 

 

bSeekChangeBloco de códigoCode-Block executado na mudança da ordem de pesquisa.






Indica se apresenta somente o limite de informacoes do Browse do tipo Query quando a Query ultrapassar o limite definido.


FWBrowse(): SetShowLimit ( [ lShowLimit] ) -->



NomeTipoDescriçãoObrigatórioReferência
lShowLimitLógicoIndica se apresenta somente o limite de informacoes do Browse do tipo Query quando a Query ultrapassar o limite definido.






Indica o Code-Block executado ao pressionar as teclas CTRL+Del.

 

Habilita a utilização da pesquisa de registros no Browse.  

                                                                                     

        


FWBrowse():

SetSeek ( [ bAction], [ aOrder]

SetSuperDel ( < bSuperDel> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
bAction
bSuperDelBloco de códigoCode-Block executado no CTRL+Del.X






Indica o tipo de navegação do Browse                      

para a pesquisa de registros, caso não seja informado será utilizado o padrão.  aOrderArray of RecordArray contendo as informações para criação dos detalhes da pesquisa.  

 

 

 

                 

SetSeekChange

 

Indica o Code-Block executado na mudança da ordem de pesquisa.  

                                                                           

     


FWBrowse():

SetSeekChange ( [ bSeekChange]

SetTypeMove ( < nTypeMove> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
nTypeMoveNuméricoIndica o tipo de navegação no Browse 0=Linha ou 1=ColunaX






Habilita a utilização do filtro case no Browse.                                                                                          

bSeekChangeBloco de códigoCode-Block executado na mudança da ordem de pesquisa.  

 

 

 

                 

SetShowLimit

 

Indica se apresenta somente o limite de informacoes do Browse do tipo Query quando a Query ultrapassar o limite definido.


FWBrowse():

SetShowLimit

SetUseCaseFilter ( [

lShowLimit

nAlign] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
lShowLimit
nAlign
Lógico
NuméricoIndica o alinhamento do filtro no Browse.






Habilita a utilização do filtro no Browse.          

se apresenta somente o limite de informacoes do Browse do tipo Query quando a Query ultrapassar o limite definido.  

 

 

 

                 

SetSuperDel

 

Indica o Code-Block executado ao pressionar as teclas CTRL+Del.

                                                                                     


FWBrowse():

SetSuperDel ( < bSuperDel>

SetUseFilter ( [ nAlign], [ bOnStart] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
bSuperDel
nAlignNuméricoIndica o alinhamento do filtro no Browse.

bOnStartBloco de códigoCode-Block executado
no CTRL+Del
na criação do componente de filtro.
X 



Observação

Este método espera que os campos para filtro tenham sido definidos previamente pelo método SetFieldFilter. 
Caso o array de campos para o filtro não tenha sido preenchido e o browse seja baseado em tabela (alias ou temporária), a lista de campos será preenchida lendo as informações através de dbStruct da tabela, exibindo algo parecido com"A1_FILIAL, A1_COD, A1_LOJA"ao invés dos títulos dos campos"Filial, Código, Loja"no momento de criação dos filtros.


Observação

Não recomendamos o uso dos filtros da classe FwBrowse com Browses do tipo Array ( DataArray() == .T. )




Define um bloco de códigos para validar se o filtro deve ser executado.

 

 

 

 

Indica o tipo de navegação do Browse          

                                                                               

                           


FWBrowse():

SetTypeMove

SetVldExecFilter ( <

nTypeMove>

bVldExecFilter> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
nTypeMove
bVldExecFilter
NuméricoIndica o tipo de navegação no Browse 0=Linha ou 1=ColunaX 

 

 

 

Bloco de códigoCode-Block para validar se o filtro deve ser executado.X





  SetUniqueKey(aSetKey)

Define os campos chave de um browse de query ou array para conseguir reposicionar posteriormente em atualizações que forcem a reconstrução do browse. Não será realizado controle de inserção em duplicidade de registros no browse.

 

Habilita a utilização do filtro case no Browse.                

                                                                               

             



Sintaxe

FWBrowse():

SetUseCaseFilter

SetUniqueKey(

[ nAlign]  

aSetKey) -->



Parâmetros


NomeTipoDescriçãoObrigatórioReferência
nAlign
aSetKey
NuméricoIndica o alinhamento do filtro no Browse.  

 

 

 

ArrayLista com os campos definidos como chave.
Quando browse de query espera { “CAMPO1”, “CAMPO2” }, nomes dos campos. Quando browse de array { 1, 2, 3 }, número das colunas do array.
X



Retorno

Lógico, indica se a definição dos campos aconteceu ou não.



  GetUniqueKey()

Retorna a lista com os campos ou colunas definidos como chave para o browse.                            

SetUseFilter

 

Habilita a utilização do filtro no Browse.

                                                 



Sintaxe

FWBrowse(): GetUniqueKey() -->



Retorno

Array, lista com os campos definidos como chave do browse.



  GetUniqueDataKey()


Captura o conteúdo dos campos e colunas informados como chave do browse.                                                               

Sintaxe

FWBrowse(): SetUseFilter ( [ nAlign], [ bOnStart] ) -->

 

NomeTipoDescriçãoObrigatórioReferêncianAlignNuméricoIndica o alinhamento do filtro no Browse.  bOnStartBloco de códigoCode-Block executado na criação do componente de filtro. 

 

 

 

       

         SetVldExecFilter

 

Define um bloco de códigos para validar se o filtro deve ser executado.                                                                                



Sintaxe

FWBrowse():

SetVldExecFilter

SetUniqueKey(

< bVldExecFilter>

aSetKey) -->

 

NomeTipoDescriçãoObrigatórioReferência
bVldExecFilterBloco de códigoCode-Block para validar se o filtro deve ser executado.X 

 

 

 

 



Retorno

Array, com lista com os pares de campos e valores identificados. Quando browse por query: { { “CAMPO”, VALOR }, { “CAMPO”, VALOR } }. Quando browse por array: { { NUM_COLUNA, VALOR }, { NUM_COLUNA, VALOR } }.



  GoToDataKey(aDataKey)


Posiciona o browse no registro conforme a chave recebida por parâmetro

Permite tornar o Browse visível

.                                                                              



Sintaxe

FWBrowse(): SetUniqueKey(aDataKey) -->



Parâmetros


NomeTipoDescriçãoObrigatórioReferência
aDataKeyArrayLista com os pares de campos e valores identificados. Quando browse por query: { { “CAMPO”, VALOR }, { “CAMPO”, VALOR } }. Quando browse por array: { { NUM_COLUNA, VALOR }, { NUM_COLUNA, VALOR } }.X



Retorno

Lógico, indica se foi possível realizar o posicionamento no registro do browse conforme o parâmetro informado.




Permite tornar o Browse visível.

               

                           

  Sintaxe

FWBrowse(): Show ( ) -->

 

 

                                 

  Exemplo

                                                              


FWBrowse(): Show ( ) -->




UpdateBrowse


Realiza a reconstrução do browse para atualizações em tempo de execução. Este método fará com que exista problemas de desempenho nos programas pois o browse é completamente reconstruído.                                                                                                                             



Sintaxe

FWBrowse(): UpdateBrowse(lResetSeek) → NIL


Parâmetros

NomeTipoDescrição
lResetSeekLógicoIndica se deve refazer a construção das ordens de pesquisa no browse.


Retorno

NIL





Aviso

A função POSICIONE, quando utilizada em campos virtuais, não deve utilizar a tabela principal do browse. Caso utilize o POSICIONE ou outra maneira (como User Function) utilizando a tabela principal, atente-se a respeito do desposicionamento da tabela ou demora na execução.




Exemplos


Bloco de código
languagejava
themeRDark
titleExemplo com Define
linenumberstrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWBROWSE.CH"
User Function BrwTable()

Local oBrowse
Local oColumn
Local oDlg

//-------------------------------------------------------------------// Abertura da tabela//-------------------------------------------------------------------
DbSelectArea("SX2")
DbSetOrder(1)

//-------------------------------------------------------------------// Define a janela do Browse//-------------------------------------------------------
DEFINE DIALOG oDlg FROM 0,0 TO 600,800 PIXEL 

//------------------------------------------------------------------- // Define o Browse //----------------------------------------------------------------
DEFINE FWBROWSE oBrowse DATA TABLE ALIAS "SX2" OF oDlg 

//-------------------------------------------------------- // Cria uma coluna de marca/desmarca//----------------------------------------------
ADD MARKCOLUMN oColumn DATA { || If(.T./* Função com a regra*/,'LBOK','LBNO') };
DOUBLECLICK { |oBrowse| /* Função que atualiza a regra*/ };
HEADERCLICK { |oBrowse| /* Função executada no clique do header */ } OF oBrowse 

//-------------------------------------------------------- // Cria uma coluna de status //--------------------------------------------------------
ADD STATUSCOLUMN oColumn DATA { || If(.T./* Função com a regra*/,'BR_VERDE','BR_VERMELHO') };
DOUBLECLICK { |oBrowse| /* Função executada no duplo clique na coluna*/ } OF oBrowse 

//-------------------------------------------------------- // Adiciona legenda no Browse //--------------------------------------------------------
ADD LEGEND DATA 'X2_CHAVE $ "AA1|AA2"' COLOR "GREEN" TITLE "Chave teste 1" OF oBrowse 
ADD LEGEND DATA '!(X2_CHAVE $ "AA1|AA2")' COLOR "RED" TITLE "Chave teste 2" OF oBrowse 

//------------------------------------------------------------------- // Adiciona as colunas do Browse //------------------------------------------
ADD COLUMN oColumn DATA { || X2_CHAVE } TITLE "Chave" SIZE 3 OF oBrowse 
ADD COLUMN oColumn DATA { || X2_ARQUIVO } TITLE "Arquivo" SIZE 10 OF oBrowse 
ADD COLUMN oColumn DATA { || X2_NOME } TITLE DecodeUTF8("Descrição") SIZE 40 OF oBrowse 
ADD COLUMN oColumn DATA { || X2_MODO } TITLE "Modo" SIZE 1 OF oBrowse 

//------------------------------------------------------------------- // Ativação do Browse//---------------------------------------------------------------- 
ACTIVATE FWBROWSE oBrowse

//-------------------------------------------------------------------// Ativação do janela//-------------------------------------------------------------------
ACTIVATE DIALOG oDlg CENTERED

Return
Bloco de código
languagejava
themeRDark
titleExemplo sem Define
linenumberstrue
User Function BrwTable()
 
Local oBrowse
Local oColumn
Local oDlg
 
// Abertura da tabela
DbSelectArea("SX2")
DbSetOrder(1)

//Define a janela do Browse
oDlg = TDialog():New(0, 0, 600, 800,,,,,,,,,,.T.)

// Define o Browse
oBrowse := FWBrowse():New(oDlg)
oBrowse:SetDataTable(.T.)
oBrowse:SetAlias("SX2")

// Cria uma coluna de marca/desmarca
oColumn := oBrowse:AddMarkColumns({||If(.T./*Função de Marca/desmaca*/,'LBOK','LBNO')},{|oBrowse|/*Função de DOUBLECLICK*/},{|oBrowse|/* Função de HEADERCLICK*/})

// Cria uma coluna de status
oColumn := oBrowse:AddStatusColumns({||If(.T./*Função de avaliação de status*/,'BR_VERDE','BR_VERMELHO')},{|oBrowse|/*Função de DOUBLECLICK*/})

// Adiciona legenda no Browse
oBrowse:AddLegend('X2_CHAVE $ "AA1|AA2"',"GREEN","Chave teste 1")
oBrowse:AddLegend('!(X2_CHAVE $ "AA1|AA2")',"RED","Chave teste 2")

// Adiciona as colunas do Browse
oColumn := FWBrwColumn():New()
oColumn:SetData({||X2_CHAVE})
oColumn:SetTitle("Chave")
oColumn:SetSize(3)
oBrowse:SetColumns({oColumn})

oColumn := FWBrwColumn():New()
oColumn:SetData({||X2_ARQUIVO})
oColumn:SetTitle("Arquivo")
oColumn:SetSize(10)
oBrowse:SetColumns({oColumn})

oColumn := FWBrwColumn():New()
oColumn:SetData({||X2_NOME})
oColumn:SetTitle(DecodeUTF8("Descrição"))
oColumn:SetSize(40)
oBrowse:SetColumns({oColumn})

oColumn := FWBrwColumn():New()
oColumn:SetData({||X2_MODO})
oColumn:SetTitle("Modo")
oColumn:SetSize(1)
oBrowse:SetColumns({oColumn})

// Ativação do Browse
oBrowse:Activate()

// Ativação da janela
oDlg:Activate(,,,.T.)

Return
Bloco de código
languagejava
themeRDark
titleExemplo com Array
linenumberstrue
Function u_BrwArray

    Local oDlg        := Nil
    Local oFwBrowse   := Nil
    Local aColumns    := {}
    Local aItems      :={}
    Local nX


    oDlg = TDialog():New(0, 0, 600, 800, "Browse com Array",,,,,,,,,.T.)

    oFwBrowse := FWBrowse():New(oDlg)
    oFwBrowse:SetDataArrayoBrowse()  //Define utilização de array

    aItems := LoadItems()      //Carregar os itens que irão compor o conteudo do grid
    oFwBrowse:SetArray(aItems) //Indica o array utilizado para apresentação dos dados no Browse.

    aColumns := RetColumns( aItems )

    //Cria as colunas do array
    For nX := 1 To Len(aColumns )
        oFwBrowse:AddColumn( aColumns[nX] )
    Next

    oFwBrowse:SetOwner(oDlg)
    oFwBrowse:SetDescription( "Browse com Array" )
    oFwBrowse:Activate()

    oDlg:Activate()

Return

Static Function RetColumns(aItems)
   	Local aColumns := {}

    aAdd(aColumns, {;
                        "Coluna 1",;                     // [n][01] Título da coluna
                        {|oBrw| aItems[oBrw:At(), 1] },; // [n][02] Code-Block de carga dos dados
                        "N",;                            // [n][03] Tipo de dados
                        "@E 9999",;                      // [n][04] Máscara
                        2,;                              // [n][05] Alinhamento (0=Centralizado, 1=Esquerda ou 2=Direita)
                        10,;                             // [n][06] Tamanho
                        0,;                              // [n][07] Decimal
                        .T.,;                            // [n][08] Indica se permite a edição
                        {|| },;                          // [n][09] Code-Block de validação da coluna após a edição
                        .F.,;                            // [n][10] Indica se exibe imagem
                        Nil,;                            // [n][11] Code-Block de execução do duplo clique
                        "__ReadVar",;                    // [n][12] Variável a ser utilizada na edição (ReadVar)
                        {|| AlwaysTrue()},;              // [n][13] Code-Block de execução do clique no header
                        .F.,;                            // [n][14] Indica se a coluna está deletada
                        .T.,;                            // [n][15] Indica se a coluna será exibida nos detalhes do Browse
                        {},;                             // [n][16] Opções de carga dos dados (Ex: 1=Sim, 2=Não)
                        "ID1"})                          // [n][17] Id da coluna

	aAdd(aColumns, {;
                        "Coluna 2",;                    // [n][01] Título da coluna
                        {|oBrw| aItems[oBrw:At(), 2] },; // [n][02] Code-Block de carga dos dados
                        "C",;                            // [n][03] Tipo de dados
                        "@!",;                           // [n][04] Máscara
                        0,;                              // [n][05] Alinhamento (0=Centralizado, 1=Esquerda ou 2=Direita)
                        10,;                             // [n][06] Tamanho
                        0,;                              // [n][07] Decimal
                        .F.,;                            // [n][08] Indica se permite a edição
                        {|| },;                          // [n][09] Code-Block de validação da coluna após a edição
                        .F.,;                            // [n][10] Indica se exibe imagem
                        Nil,;                            // [n][11] Code-Block de execução do duplo clique
                        __ReadVar,;                      // [n][12] Variável a ser utilizada na edição (ReadVar)
                        {|| AlwaysTrue()},;              // [n][13] Code-Block de execução do clique no header
                        .F.,;                            // [n][14] Indica se a coluna está deletada
                        .T.,;                            // [n][15] Indica se a coluna será exibida nos detalhes do Browse
                        {},;                             // [n][16] Opções de carga dos dados (Ex: 1=Sim, 2=Não)
                        "ID2"})                          // [n][17] Id da coluna

	aAdd(aColumns, {;
                        "Coluna 3",;                      // [n][01] Título da coluna
                        {|oBrw| aItems[oBrw:At(), 3 ] },; // [n][02] Code-Block de carga dos dados
                        "C",;                             // [n][03] Tipo de dados
                        "@!",;                            // [n][04] Máscara
                        0,;                               // [n][05] Alinhamento (0=Centralizado, 1=Esquerda ou 2=Direita)
                        10,;                              // [n][06] Tamanho
                        0,;                               // [n][07] Decimal
                        .F.,;                             // [n][08] Indica se permite a edição
                        {|| },;                           // [n][09] Code-Block de validação da coluna após a edição
                        .F.,;                             // [n][10] Indica se exibe imagem
                        Nil,;                             // [n][11] Code-Block de execução do duplo clique
                        "__ReadVar",;                     // [n][12] Variável a ser utilizada na edição (ReadVar)
                        {|| AlwaysTrue()},;               // [n][13] Code-Block de execução do clique no header
                        .F.,;                             // [n][14] Indica se a coluna está deletada
                        .T.,;                             // [n][15] Indica se a coluna será exibida nos detalhes do Browse
                        {},;                              // [n][16] Opções de carga dos dados (Ex: 1=Sim, 2=Não)
                        "ID3"})                           // [n][17] Id da coluna

Return aColumns

Static Function LoadItems()
   Local aLinha     := {}
   Local nX

    For nX := 1 To 20
        aAdd(aLinha,{ nX, StrZero(nX, 5), " Linha : "+ cValToChar(nX)})
    Next
Return aLinha
Bloco de código
languagejava
themeRDark
titleExemplo com Query
linenumberstrue
Function u_FwBrwQry()
    Local oDlg       As Object
    Local aColumns   As Array
    Local nContFlds  As Numeric
    Local cAliasTemp As Character
    Local oBrowse    As Object
    Local aFields    As Array

    cAliasTemp  := MpSysOpenQuery( "SELECT * FROM " + RetSqlName("SC5") + " WHERE D_E_L_E_T_ = ''" )

    DEFINE MSDIALOG oDlg TITLE "Browse com Query" FROM 0,0 TO 600, 800 PIXEL

    oBrowse := FWBrowse():New()
    oBrowse:SetDataTable( .T. )
    oBrowse:SetAlias( cAliasTemp )
    oBrowse:SetOwner( oDlg )
    oBrowse:SetDescription( "Browse com Query" )

    //-------------------------------------------------------------------
    // Adiciona as colunas do Browse
    //-----------------------------
#INCLUDE "FWBROWSE.CH"
     User Function BrwTable()
Local oBrowse
Local oColumn
Local oDlg
//-------------------------------
-------------------
-----------------// Abertura da tabela//-------------------------------------------------------------------
DbUseArea(.T.,,"SX2990","SX2",.T.,.F.)
DbSetOrder(1)
//-------------------------------------------------------------------// Define a janela do Browse//-------------------------------------------------------
DEFINE MSDIALOG oDlg FROM 0,0 TO 600,800 PIXEL	
//-------------------------------------------------------------------	// Define o Browse	//----------------------------------------------------------------
DEFINE FWBROWSE oBrowse DATA TABLE ALIAS "SX2" OF oDlg	
//--------------------------------------------------------	// Cria uma coluna de marca/desmarca//----------------------------------------------
ADD MARKCOLUMN oColumn DATA { || If(.T./* Função com a regra*/,'LBOK','LBNO') } 
DOUBLECLICK { |oBrowse| /* Função que atualiza a regra*/ } 
HEADERCLICK { |oBrowse| /* Função executada no clique do header */ } OF oBrowse		
//--------------------------------------------------------	// Cria uma coluna de status	//--------------------------------------------------------
ADD STATUSCOLUMN oColumn DATA { || If(.T./* Função com a regra*/,'BR_VERDE','BR_VERMELHO') } 
DOUBLECLICK { |oBrowse| /* Função executada no duplo clique na coluna*/ } OF oBrowse		
//--------------------------------------------------------	// Adiciona legenda no Browse	//--------------------------------------------------------
ADD LEGEND DATA 'X2_CHAVE $ "AA1|AA2"'    COLOR "GREEN" TITLE "Chave teste 1" OF oBrowse		
ADD LEGEND DATA '!(X2_CHAVE $ "AA1|AA2")' COLOR "RED"   TITLE "Chave teste 2" OF oBrowse	
-------------------
    aColumns    := {}
    aFields     := {}

    aAdd( aFields, "C5_FILIAL" )
    aAdd( aFields, "C5_NUM" )
    aAdd( aFields, "C5_TIPO" )
    aAdd( aFields, "C5_CLIENTE" )
    aAdd( aFields, "C5_PEDEXP"  )


    For nContFlds := 1 To Len( aFields )

        AAdd( aColumns, FWBrwColumn():New() )

        aColumns[Len(aColumns)]:SetData( &("{ || " + aFields[nContFlds] + " }") )
        aColumns[Len(aColumns)]:SetTitle( aFields[nContFlds] )
        aColumns[Len(aColumns)]:SetSize( 15 )
        aColumns[Len(aColumns)]:SetID( aFields[nContFlds] )
    Next nContFlds

    oBrowse:SetColumns(aColumns)
    oBrowse:Activate()

    ACTIVATE MSDIALOG oDlg
Return
Bloco de código
languagejava
themeRDark
titleBrowse de query
linenumberstrue
Function u_FwBrwQry()
    Local oDlg      As Object
    Local aColumns  As Array
    Local nContFlds As Numeric
    Local aFields   As Array
    Local oBrowse   As Object
    Local cAliasQry As Character

    DEFINE MSDIALOG oDlg TITLE "Browse de Query" FROM 0,0 TO 600, 800 PIXEL

    cAliasQry := GetNextAlias()

    oBrowse := FWBrowse():New()
    oBrowse:SetDataQuery()
    oBrowse:SetAlias(cAliasQry)
    oBrowse:SetQuery("SELECT * FROM " + RetSqlName("SC5") + " WHERE D_E_L_E_T_ = ''")
    oBrowse:SetOwner(oDlg)
    oBrowse:SetDescription("Browse de Query")

    //-------------------------------------------------------------------

    // Adiciona as colunas 
do Browse //
do Browse
    //-------------------------------------------------------------------
-ADD COLUMN oColumn DATA { || X2_CHAVE } TITLE "Chave"

    aColumns    := {}
    aFields     := {}

    aAdd( aFields, "C5_FILIAL" )
    aAdd( aFields, "C5_NUM" )
    aAdd( aFields, "C5_TIPO" )
    aAdd( aFields, "C5_CLIENTE" )
    aAdd( aFields, "C5_PEDEXP"  )


    For nContFlds := 1 To Len( aFields )

       
SIZE
 AAdd( 
3 OF oBrowse
ADD COLUMN oColumn DATA { || X2_ARQUIVO } TITLE "Arquivo"   SIZE 10 OF oBrowse		
ADD COLUMN oColumn DATA { || X2_NOME    } TITLE "Descrição" SIZE 40 OF oBrowse		
ADD COLUMN oColumn DATA { || X2_MODO    } TITLE "Modo"      SIZE  1 OF oBrowse	
//-------------------------------------------------------------------	// Ativação do Browse//----------------------------------------------------------------	
ACTIVATE FWBROWSE oBrowse
//-------------------------------------------------------------------// Ativação do janela//-------------------------------------------------------------------
ACTIVATE MSDIALOG oDlg CENTERED
Return
 
aColumns, FWBrwColumn():New() )

        aColumns[Len(aColumns)]:SetData( &("{ || " + aFields[nContFlds] + " }") )
        aColumns[Len(aColumns)]:SetTitle( aFields[nContFlds] )
        aColumns[Len(aColumns)]:SetSize( 15 )
        aColumns[Len(aColumns)]:SetID( aFields[nContFlds] )
    Next nContFlds

    oBrowse:SetColumns(aColumns)
    oBrowse:Activate()

    ACTIVATE MSDIALOG oDlg
Return



           Abrangência



              Todas as versões

Define os campos chave de um browse de query ou array para conseguir reposicionar posteriormente em atualizações que forcem a reconstrução do browse. Não será realizado controle de inserção em duplicidade de registros no browse.

AddLegend