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
 

 

null

 





 

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

null

 

[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
 

 

null


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
 

null

 

 




oBrowse:AddFilter(cTitle,xCondition)

 

 

Permite adicionar um linha


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.



Sintaxe

FWBrowse():

AddLine (

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

Observações null


Nome

 

TipoDescriçãoObrigatórioReferência
xConditionExpressãoExpressão AdvPL ou Code-Block com a regra da legendaX
cColorCaracterCor que identifica a regraX
cTitleCaracterTí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 com a opção de marca e desmarca.

Sintaxe

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


FWBrowse(): AddMarkColumns ( < bMark>, [ bLDblClick], [ bHeaderClick] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
bMarkBloco de códigoCode-Block com a regra e deverá retornar a imagem referente 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.
  

 

 

null

 






Permite adicionar uma coluna de status.


FWBrowse

 

Permite adicionar uma coluna de status.

SintaxeFWBrowse

(): 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.



 

 

null

 


 

Retorna o Alias utilizado no Browse.


FWBrowse(): Alias ( ) --> cAlias

cAlias
    (caracter)
  • Alias utilizado no Browse.

null

 



 

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


FWBrowse(): AllOk ( ) --> lReturn

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

null

 



Retorna a posição atual do registro.


FWBrowse(): At ( ) --> nAt

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

null

 



Retorna o componente Browse (TGRID).


FWBrowse(): Browse ( ) --> oBrowse

oBrowse
    ()
  • Objeto Browse (TGRID).
Observações

null

 



Retorna o nome da classe (FWBROWSE).


FWBrowse(): ClassName ( ) --> cClassName

cClassName
    (caracter)
  • Nome da classe.
Observações

null

 



Executa a limpeza dos filtros estendidos realizados no Browse.



FWBrowse(): CleanExFilter ( ) -->

null



Realizada a limpeza dos filtros utilizados no Browse.


FWBrowse(): CleanFilter ( ) -->

Observações

null

 



 

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


FWBrowse(): CleanProfile ( ) -->

Observações

null

 



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.

null

 



 

Retorna o objeto de dados no Browse.


FWBrowse(): Data ( ) --> oData

oData
    ()
  • Retorna o objeto de dados do Browse

null

 



 

Retorna se o dados apresentados no Browse é de Array.


FWBrowse(): DataArray ( ) --> lDataArray

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

null



Retorna se o dados apresentados no Browse é de Query.


FWBrowse(): DataQuery ( ) --> lDataQuery

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

null

 



 

Retorna se o dados apresentados no Browse é de Tabela.


FWBrowse(): DataTable ( ) --> lDataTable

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

null



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.

null

 



 

Indica se utiliza filtro para tabelas CODEBASE.


FWBrowse(): DBFFilter ( ) --> lDBFFilter

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

null

 



 

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)
  




null


 

Compatibilização com a MBrowse antiga.


FWBrowse(): Default ( ) -->

null

 



 

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
 

 

Observações

null





Permite realizar a exclusão de filtros.


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


 


NomeTipoDescriçãoObrigatórioReferência
cIDCaracterIdentificador do Filtro



null


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


FWBrowse(): DelLine ( ) -->

Observações

null



 

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


FWBrowse(): DelOk ( ) --> lReturn

lReturn
()

null

 



Desabilita a utilização do Browse.


FWBrowse(): Disable ( ) -->

Observações

null



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


FWBrowse(): DisableConfig ( ) -->

null

 



Desabilita a utilização do filtro no Browse.                                                                                                                  


FWBrowse(): DisableFilter ( ) -->

null



 

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 ( ) -->

null

 



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


FWBrowse(): DisableSaveConfig ( ) -->

Observações

null



Desabilita a utilização da pesquisa no Browse.                                                                                                             


FWBrowse(): DisableSeek ( ) -->

null

 



Habilita a utilização do Browse.


FWBrowse(): Enable ( ) -->                                                                                                                                                                                                             

Observações

null



 

Aplica os filtros realizados no Browse.


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


 


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

 

null

 




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.
Observações

null





 

Retorna o objeto FWFilter.


FWBrowse(): FWFilter ( ) --> oFWFilter                                                                                                                                                                                            

oFWFilter
    ()
  • Retorna o objeto FWFilter.
Observações

null

 





Retorna a cor de fundo do Browse.


FWBrowse(): GetBackColor ( ) --> nBackColor                                                                                                                                                                                   

nBackColor
    ()
  • Retorna a cor de fundo do Browse
Observações

null





 

Retorna a cor alternada do Browse.


FWBrowse(): GetClrAlterRow ( ) --> nClrAlterRow                                                                                                                                                                              

nClrAlterRow
    ()
  • Retorna a cor alternada do Browse

null





Retorno um objeto tipo FWBrwColumn da coluna passada.                                                                                              


FWBrowse(): GetColumn (

) --> nCol

[nCol])

nCol
oCol
()Retorna a
  • Retorna o objeto da coluna posicionada.
null




 

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.
Observações

null

 





Retorna a cor da fonte do Browse.


FWBrowse(): GetForeColor ( ) --> cForeColor                                                                                                                                                                                   

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




 

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
Observações

null

 





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
null

 





Retorna a Query que esta sendo utilizada no Browse.                                                                                                     


FWBrowse(): GetQuery ( ) --> cQuery

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

null

 




Posiciona no último registro do Browse.                                                                                                                    


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


 


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

 

null

 








 

Posiciona na coluna desejada.                                                                                                                               


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


 


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

 

null

 








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.
  

 

null

 








 

Salta uma página para baixo do item posicionado.                                                                                                         


FWBrowse(): GoPgDown ( ) -->

Salta uma página para cima do item posicionado.


FWBrowse(): GoPgUp ( ) -->

Observações

null

 





 

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.
  

 

Observações

null

 








Posiciona no primeiro registro do Browse.                                                                                                                 


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


 


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

 

null

 








Salta uma ou mais linhas para cima do item posicionado.                          

GoUp

 

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.
  

 

null

 








 

Permite tornar o Browse invisível                                                                                                                           


FWBrowse(): Hide ( ) -->

Observações

null

 





 

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.
  

 

null

 




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 registros disponíveis para o browse.                    

LogicLen

 

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.
Observações

null

 





 

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

null

 


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.

null

 




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.

null

 




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.





  

 

null

 


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

Report

 

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

                                                                           

                         


FWBrowse(): Report ( ) -->

 



 

Compatibilidade com o Browse antigo.                                                                                                                     


FWBrowse(): Reset ( ) -->

null

 





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
 

 

null

 







 

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
 

 

null

 







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
 

 

null

 







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

SetArray

 

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
 

 

null

 







 

Indica a cor de fundo do Browse.                                                                                                                           


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


 


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

 

null

 







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
 

 

Observações

null

 







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
 

 

null

 







Indica a cor alternada do Browse.                      

SetClrAlterRow

 

Indica a cor alternada do Browse.

                                                                                                     

                     


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


 


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

 

null

 







 

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


FWBrowse(): SetDataArray ( ) -->

null

 


Observação

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



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 ( ) -->

Observações

null

 





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


FWBrowse(): SetDataTable ( ) -->

Observações

null

 





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


FWBrowse(): SetDataText ( ) -->

Observações

null

 





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.
   

null

 








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
 

 

Observações

null

 







Indica a descrição do Browse.                                                                                                                               


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


 


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

 

null

 







 

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


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


 


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

 

null

 

 








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

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

.                                                                                          

       


FWBrowse():

SetEditCell ( [ lEditCell], [ bValidEdit]

SetFieldFilter ( < aFields> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
lEditCell
aFieldsArray 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.

LógicoIndica se permite a edição de células.  bValidEditBloco de códigoCode-Block executado para validar a edição da célula.  

 

null

 

                 

SetFieldFilter

 

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

                                                                                   


FWBrowse():

SetFieldFilter

SetFile ( <

aFields>

cFile>, [ cCharSeparator] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
aFields
cFile
Array of RecordArray contendo os campos apresentados na edição de filtros.
CaracterArquivo 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.  

 

null

 

                 

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

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

 

null

 

 

Indica o filtro padrão do

Browse.                                                                                                          

                 


FWBrowse():

SetFilterDefault

SetFilterRelation ( < aFilterRelation>, <

cFilterDefault>

bChgFields> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
cFilterDefault
aFilterRelation
Caracter
Array of RecordArray contendo os itens do relacionamento
Indica o filtro AdvPL para o Browse
.X
 

bChgFieldsBloco de códigoIndica o Code-Block executado para trocar os campos para o filtro.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.    

 

null

 

 

Indica o relacionamento de filtros para o Browse.  

                                                                                                                         


FWBrowse():

SetFilterRelation

SetFocus (

< aFilterRelation>, < bChgFields>

) -->

 

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 

 

null

 



Indica a fonte do Browse.

     

           

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

 

null

 

 

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

 

null

 

 

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.  

 

null

 

                 

SetHeaderImage

 

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.X cResourceCaracterIndica a imagem que será apresentada ao lado da coluna.X 

 

null

 

que poderá inserir novas linhas.






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
 

 

null

 





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

 

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

.                                                

                                           SintaxeFWBrowse

  


FWBrowse():

SetInsert ( [ lInsert]

SetItemHeaderClick ( < aItemHeaderClick> ) -->


 


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

 

null

 

 

aItemHeaderClickArray of RecordIndica 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.

                                                                                                   

  


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 

 

null

 

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
 

 

null

 







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

 

Indica a altura da linha no Browse.            

                                                                                             

               


FWBrowse():

SetLineHeight

SetLocate ( [

nHeight

bAction] ) -->


 


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

 

null

 

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.        

       

         

SetLineOk

 

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

                                                                             

             Sintaxe

  


FWBrowse():

SetLineOk ( < bLineOk>

SetNumberLegend ( [ lNumber] ) -->


 


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

 

null

 

lNumberLó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
lObligateFilter
Bloco de códigoCode-Block executado para localização das informações, caso não seja informado será utilizado o padrão.  
Ló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.

 

null

 

 

             

 SetNumberLegend

 

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

                                                                                                 

  


FWBrowse():

SetNumberLegend

SetOwner ( [

lNumber

oOwner] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
lNumber
oOwner
Lógico
ObjetoIndica
que a legenda será representada por números
o container para criação do Browse.
  

 

null

 

 

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






SetEditCell


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



Sintaxe

FWBrowse():

...

SetEditCell ( <

...

lEditCell>,<bValidEdit> ) -->



Parâmetros

...


NomeTipoDescriçãoObrigatórioReferência

...

lEditCell

...

LógicoIndica

...

se permite a edição de célulasX

...


bValidEdit

 

null

 

Bloco 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.

         SetObligateFilter

 

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


FWBrowse():

SetObligateFilter ( [ lObligateFilter], [ lCanCancel]

SetPreEditCell ( < bBlock> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
lObligateFilter
bBlock
LógicoIndica que o filtro será solicitado na entrada do Browse  lCanCancelLógicoIndica que permite o cancelamento na tela de filtros.  

 

null

 

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.

 

Indica o container para criação do Browse.      

                                                                                               

         


FWBrowse():

SetOwner ( [ oOwner]

SetQuery ( < cQuery> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
oOwner
cQuery
Objeto
CaracterIndica
o container
a Query para a criação do Browse.
  

 

null

 

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 criação do Browse.                                                                                           

 

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

SetQueryIndex ( <

bBlock>

aIndex> ) -->


 


NomeTipoDescriçãoObrigatórioReferência
bBlockBloco 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
aIndexArray of RecordIndica os índices utilizados pela Query na criação do Browse.X
 

 







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

null

 

 

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 

 

null

 

                 

SetQuery

 

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

                                                                       

                       Sintaxe

  


FWBrowse():

SetQuery ( < cQuery>

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


 


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

 

null

 

Bloco de códigoCode-Block executado 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.

Estrutura do array:
               
   SetQueryIndex

 

Indica os índices utilizados pela Query na criação do Browse.
[n,1] Título da pesquisa
                [n,2,n,1] LookUp
                [n,2,n,2] Tipo de dados
               
     
[n,2,n,3] Tamanho
                [n,2,n,4] Decimal
               
    Sintaxe

FWBrowse(): SetQueryIndex ( < aIndex> ) -->

 

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

 

null

 

 

Habilita a utilização da pesquisa de registros no Browse.
[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(): SetSeek ( [ bAction], [ aOrder] ) -->

 

NomeTipoDescriçãoObrigatórioReferência
bActionBloco de códigoCode-Block executado 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.  

 

null

 

[n,4] Exibe na pesquisa






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


FWBrowse(): SetSeekChange ( [ bSeekChange] ) -->


 


NomeTipoDescriçãoObrigatórioReferência
bSeekChangeBloco de códigoCode-Block executado na mudança da ordem de pesquisa.
  

 

null

 








 

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.
  

 

null

 








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


FWBrowse(): SetSuperDel ( < bSuperDel> ) -->


 


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

 

null

 







 

Indica o tipo de navegação do Browse                                                                                                                      


FWBrowse(): SetTypeMove ( < nTypeMove> ) -->


 


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

 

null

 







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


FWBrowse(): SetUseCaseFilter ( [ nAlign] ) -->


 


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

 

Observações

null

 








Habilita a utilização do filtro no Browse.                                                                                                                    


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


 


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


bOnStartBloco de códigoCode-Block executado na criação do componente de filtro.
  

 

 




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.                                                                                


FWBrowse(): SetVldExecFilter ( < bVldExecFilter> ) -->


 


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

 

null

 

 






  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

Permite tornar o Browse visível

.                                                                                

                                            



Sintaxe

FWBrowse():

Show

SetUniqueKey(aSetKey) -->

Observaçõesnull


NomeTipoDescriçãoObrigatórioReferência
aSetKeyArrayLista 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.                                                                                



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(): SetUniqueKey(aSetKey) -->



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.                                                                              



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.                                                                                                                             


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
    //-------------------------------

 

                  Exemplo

#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