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ógicoNão suportado

aFilParserArray of RecordNão suportado

cIDCaracterNome do identificador do filtro


oBrowse:AddFilter(cTitle,xCondition)

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(): AddLegend ( < xCondition>, < cColor>, <cTitle>, <cID>, <lFilter>) -->



Parâmetros


NomeTipoDescriçã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.


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.




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


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



NomeTipoDescriçã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.                                                                                          


FWBrowse(): SetFieldFilter ( < aFields> ) -->



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


FWBrowse(): SetFile ( < cFile>, [ cCharSeparator] ) -->



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


FWBrowse(): SetFilter ( < cCpoFil>, < cTopFun>, [ cBotFun] ) -->



NomeTipoDescriçãoObrigatórioReferência
cCpoFilCaracterIndica o campo a ser considerado o limite superior e inferior.X
cTopFunCaracterIndica o 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.                                                                                                                            


FWBrowse(): SetFilterDefault ( < cFilterDefault> ) -->



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



Indica o relacionamento de filtros para o Browse.                                                                                                          


FWBrowse(): SetFilterRelation ( < 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



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.                                                                                                                              


FWBrowse(): SetFocus ( ) -->



Indica a fonte do Browse.                                                                                                                                     


FWBrowse(): SetFontBrowse ( [ oFont] ) -->



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






Indica a cor da fonte no Browse.                                                                                                                            


FWBrowse(): SetForeColor ( < nForeColor> ) -->



NomeTipoDescriçãoObrigatórioReferência
nForeColorNuméricoCor da fonte no Browse.X






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


FWBrowse(): SetGroup ( < bGroup>, [ lOpen] ) -->



NomeTipoDescriçãoObrigatórioReferência
bGroupBloco de códigoCode-Block com a regra do agrupamento retornando um valor lógico (.T. = Quebra, .F. = Filho ).X
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> ) -->



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


FWBrowse(): SetInsert ( [ lInsert] ) -->



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






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


FWBrowse(): SetItemDoubleClick ( < aItemDoubleClick> ) -->



NomeTipoDescriçãoObrigatórioReferência
aItemDoubleClickArray of RecordArray contendo as informações que serão apresentadas para configuração do duplo clique.X




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


FWBrowse(): SetItemHeaderClick ( < aItemHeaderClick> ) -->



NomeTipoDescriçãoObrigatórioReferência
aItemHeaderClickArray of RecordIndica os itens que serão disponibilizados para a configuração do clique no header pelo usuário.X






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


FWBrowse(): SetLineBegin ( < nLineBegin> ) -->



NomeTipoDescriçãoObrigatórioReferência
nLineBeginNuméricoIndica a linha inicial do arquivo texto.X






Indica a altura da linha no Browse.                                                                                                                          


FWBrowse(): SetLineHeight ( [ nHeight] ) -->



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






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


FWBrowse(): SetLineOk ( < bLineOk> ) -->



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






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


FWBrowse(): SetLocate ( [ bAction] ) -->



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


FWBrowse(): SetNumberLegend ( [ lNumber] ) -->



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


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(): SetObligateFilter ( [ lObligateFilter], [ lCanCancel] ) -->



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


FWBrowse(): SetOwner ( [ oOwner] ) -->



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


FWBrowse(): SetPreEditCell ( < bBlock> ) -->



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


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



NomeTipoDescriçãoObrigatórioReferência
cQueryCaracterIndica a Query para a criação do Browse.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.                                                                                           


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



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






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


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.

Estrutura do array:
                [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
                [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
                [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.






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.                                                                                      


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



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






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






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


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



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






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





  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.                                                                                



Sintaxe

FWBrowse(): SetUniqueKey(aSetKey) -->



Parâmetros


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





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


Exemplo com Define
#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
Exemplo sem Define
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
Exemplo com Array
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
Exemplo com Query
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
    //-------------------------------------------------------------------
    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
Browse de query
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
    //-------------------------------------------------------------------
    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



           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

4 Comentários

  1. Usuário desconhecido (everson.almeida)

    Bom dia,

    Não encontrei a documentação referente ao método SetColumns.

  2. Usuário desconhecido (everson.almeida)

    Bom dia, por favor, no método AddColumn informar na documentação de forma mais clara que se passada o 11º parametro, serve para editar ou não o campo.

    Além disso, parece não estar funcionando, pois mesmo passando  '{| |  .F.}', e todos os outros parametros de edição, ele não permite a edição.

    Desde já agradeço

  3. Usuário desconhecido (everson.almeida)

    Por favor, o ultimo exemplo está equivocado em alguns aspectos já que o mesmo se trata de um exemplo para um QUERY, e os métodos deveriam estar configurados de forma diferente.

    Poderiam corrigir e colocar um exemplo funcional, e de preferencia com campos editáveis?

  4. Usuário desconhecido (everson.almeida)

    Não identifiquei possibilidade de editar um campo, e definir sua consulta padrão. Como faria?