Construtor da classe |
---|
FWBrowse(): New ( [ oOwner] ) --> oSelf |
---|
|
---|
oSelf
oBrowse := FWBrowse():New() |
---|
Ativação da classe.FWBrowse(): Activate ( [ lFWBrowse] ) --> |
---|
|
---|
oBrowse:Activate() |
---|
Permite adicionar a informacao de um browse relacionado.FWBrowse(): AddBrwRelation ( < oBrwRel> ) --> |
---|
|
---|
null
Adiciona uma coluna no Browse em tempo de execução.FWBrowse(): AddColumn ( < aColumn> ) --> |
---|
|
---|
aColumn Estrutura da Coluna [n][01] Título 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] ) --> |
---|
|
---|
|
---|
null
|
---|
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] ) --> |
---|
|
---|
|
---|
|
---|
|
---|
|
---|
|
---|
|
---|
|
---|
null
oBrowse:AddFilter(cTitle,xCondition) |
---|
Permite adicionar um linha
Não recomendamos o uso dos filtros da classe FwBrowse com Browses do tipo Array ( DataArray() == .T. ) |
---|
Permite adicionar legendas no Browse.Sintaxe FWBrowse(): |
---|
AddLegend ( < xCondition>, < cColor>, <cTitle>, <cID>, <lFilter>) --> |
---|
|
---|
oBrowse:AddLegend(xCondition,cColor,cTitle) |
---|
Permite adicionar uma coluna com a opção de marca e desmarca. |
---|
FWBrowse(): AddMarkColumns ( < bMark>, [ bLDblClick], [ bHeaderClick] ) --> |
---|
|
---|
|
---|
|
---|
null
Permite adicionar uma coluna de status.FWBrowse |
---|
(): AddStatusColumns ( < bStatus>, [ bLDblClick] ) --> |
---|
|
---|
|
---|
null
Retorna o Alias utilizado no Browse.FWBrowse(): Alias ( ) --> cAlias cAlias
|
---|
null
Executa o Code-Block definido no método SetAllOK(bAllOK).FWBrowse(): AllOk ( ) --> lReturn lReturn
|
---|
null
Retorna a posição atual do registro.FWBrowse(): At ( ) --> nAt nAt
|
---|
null
Retorna o componente Browse (TGRID).FWBrowse(): Browse ( ) --> oBrowse oBrowse
|
---|
null
Retorna o nome da classe (FWBROWSE).FWBrowse(): ClassName ( ) --> cClassName cClassName
|
---|
null
Executa a limpeza dos filtros estendidos realizados no Browse.FWBrowse(): CleanExFilter ( ) --> |
---|
null
Elimina as configurações realizadas no Browse do perfil do usuário.FWBrowse(): CleanProfile ( ) --> |
---|
null
Retorna a coluna posicionada no BrowseFWBrowse(): ColPos ( [ lDeleted] ) --> nColPos |
---|
|
---|
nColPos
|
---|
null
Retorna o objeto de dados no Browse.FWBrowse(): Data ( ) --> oData oData
|
---|
null
Retorna se o dados apresentados no Browse é de Array.FWBrowse(): DataArray ( ) --> lDataArray lDataArray
|
---|
null
Retorna se o dados apresentados no Browse é de Query.FWBrowse(): DataQuery ( ) --> lDataQuery lDataQuery
|
---|
null
Retorna se o dados apresentados no Browse é de Tabela.FWBrowse(): DataTable ( ) --> lDataTable lDataTable
|
---|
null
Retorna se o dados apresentados no Browse é de Texto.FWBrowse(): DataText ( ) --> lDataText lDataText
|
---|
null
Indica se utiliza filtro para tabelas CODEBASE.FWBrowse(): DBFFilter ( ) --> lDBFFilter lDBFFilter
|
---|
null
Método de destruição da classe.FWBrowse(): DeActivate ( [ lFreeChildren] ) --> |
---|
|
---|
null
Indica que uma determinada coluna está deletada.FWBrowse(): DelColumn ( < nColumn> ) --> |
---|
|
---|
Observações
null
Permite realizar a exclusão de filtros.FWBrowse(): DeleteFilter ( [ cID] ) --> |
---|
|
---|
null
Executa o Code-Block, definido no método SetDelete(lDelete,bDelete), para deleção de uma linha no Browse.FWBrowse(): DelLine ( ) --> |
---|
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 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 ( ) --> |
---|
DisableLocate ( ) --> |
---|
null
Desabilita a gravação das configurações realizadas no Browse.FWBrowse(): DisableSaveConfig ( ) --> |
---|
null
Desabilita a utilização da pesquisa no Browse.FWBrowse(): DisableSeek ( ) --> |
---|
null
Aplica os filtros realizados no Browse.FWBrowse(): ExecuteFilter ( [ lBrwUpdate] ) --> |
---|
|
---|
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
|
---|
null
Retorna o objeto FWFilter.FWBrowse(): FWFilter ( ) --> oFWFilter oFWFilter
|
---|
null
Retorna a cor de fundo do Browse.FWBrowse(): GetBackColor ( ) --> nBackColor nBackColor
|
---|
null
Retorna a cor alternada do Browse.FWBrowse(): GetClrAlterRow ( ) --> nClrAlterRow nClrAlterRow
|
---|
null
Retorno um objeto tipo FWBrwColumn da coluna passada.FWBrowse(): GetColumn ( |
---|
[nCol]) |
---|
oCol |
---|
|
---|
Retorna a descrição do Browse.FWBrowse(): GetDescription ( ) --> cDescription cDescription
|
---|
Retorna o filtro padrão do BrowseFWBrowse(): GetFilterDefault ( ) --> cFilterDefault cFilterDefault
|
---|
null
Retorna a cor da fonte do Browse.FWBrowse(): GetForeColor ( ) --> cForeColor cForeColor
|
---|
Retorna o objeto FWMARKBROWSE utilizado na passagem de parâmetros na execução das rotinas na FWFORMBROWSE;FWBrowse(): GetObjMark ( ) --> oObjMark oObjMark
|
---|
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
|
---|
Retorna a Query que esta sendo utilizada no Browse.FWBrowse(): GetQuery ( ) --> cQuery cQuery
|
---|
null
Posiciona no último registro do Browse.FWBrowse(): GoBottom ( [ lCallRefresh] ) --> |
---|
|
---|
null
Posiciona na coluna desejada.FWBrowse(): GoColumn ( [ nColumn] ) --> |
---|
|
---|
null
Salta uma ou mais linhas para baixo do item posicionado.FWBrowse(): GoDown ( [ nOffSet], [ lReport] ) --> |
---|
|
---|
|
---|
null
Posiciona em um determinado registro do Browse.FWBrowse(): GoTo ( < nGoto>, [ lRefresh] ) --> |
---|
|
---|
|
---|
Observações
null
Posiciona no primeiro registro do Browse.FWBrowse(): GoTop ( [ lForce] ) --> |
---|
|
---|
null
Salta uma ou mais linhas para cima do item posicionado. |
---|
FWBrowse(): GoUp ( [ nOffSet] ) --> |
---|
|
---|
null
Executa o Code-Block, definido no método SetLineOk(bLineOk), para validação da linha posicionada.FWBrowse(): LineOk ( ) --> lRet lRet
|
---|
Executa a atualização das informações de uma determinada linha do Browse.FWBrowse(): LineRefresh ( [ nAt] ) --> |
---|
|
---|
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. |
---|
FWBrowse(): LogicLen ( ) --> nLogicLen nLogicLen
|
---|
null
Retorna se a selecão de um filtro é obrigatório para a apresentação do browse.FWBrowse(): ObligateFilter ( ) --> lObligateFilter lObligateFilter
|
---|
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
|
---|
null
Indica se a opção de impressão das informações do Browse está habilitada.FWBrowse(): OptionReport ( ) --> lOptionReport lOptionReport
|
---|
null
Executa a atualização das informações no Browse.FWBrowse(): Refresh ( [ lGoTop] ) --> |
---|
|
---|
null
Executa a impressão das informações do Browse. |
---|
Indica a Code-Block executado para adicionar linha no browse.FWBrowse(): SetAddLine ( < bAdd> ) --> |
---|
|
---|
null
Indica o Code-Block que será executado após a inclusão de uma linha.FWBrowse(): SetAfterAddLine ( < bAfterAddLine> ) --> |
---|
|
---|
null
Indica o alias da tabela que será utilizada no Browse.FWBrowse(): SetAlias ( < cAlias> ) --> |
---|
|
---|
Indica o Code-Block executado para validar todos itens do Browse.FWBrowse(): SetAllOk ( < bAllOk> ) --> |
---|
|
---|
null
Indica o array utilizado para apresentação dos dados no Browse. |
---|
FWBrowse(): SetArray ( < aArray> ) --> |
---|
|
---|
null
Indica a cor de fundo do Browse.FWBrowse(): SetBackColor ( < nBackColor> ) --> |
---|
|
---|
null
Indica a cor de fundo para a linha atual.FWBrowse(): SetBlkBackColor ( < bBackColor> ) --> |
---|
|
---|
Indica a cor de fonte para a linha atual.FWBrowse(): SetBlkColor ( < bBlkColor> ) --> |
---|
|
---|
Observações
null
Indica a Code-Block executado após a mudança de uma linha.FWBrowse(): SetChange ( < bChange> ) --> |
---|
|
---|
null
Indica a cor alternada do Browse. |
---|
FWBrowse(): SetClrAlterRow ( < nClrAlterRow> ) --> |
---|
|
---|
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 ( ) --> |
---|
null
Indica que o Browse exibe dados através de uma tabela.FWBrowse(): SetDataTable ( ) --> |
---|
null
Indica que o Browse exibe dados através de um arquivo texto.FWBrowse(): SetDataText ( ) --> |
---|
null
Indica que o usuário pode excluir linhas no Browse.FWBrowse(): SetDelete ( [ lDelete], [ bDelete] ) --> |
---|
|
---|
|
---|
null
Indica o Code-Block executado para validar a exclusão da linha.FWBrowse(): SetDelOk ( < bDelOK> ) --> |
---|
|
---|
Observações
null
Indica a descrição do Browse.FWBrowse(): SetDescription ( < cDescription> ) --> |
---|
|
---|
null
Indica o Code-Block executado no duplo clique do item no Browse.FWBrowse(): SetDoubleClick ( < bLDblClick> ) --> |
---|
|
---|
null
Indica os campos que serão apresentados na edição de filtros |
---|
. |
---|
FWBrowse(): |
---|
SetFieldFilter ( < aFields> ) --> |
---|
|
---|
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. |
---|
null
Indica os campos que serão apresentados na edição de filtros.
FWBrowse(): |
---|
SetFile ( < |
---|
cFile>, [ cCharSeparator] ) --> |
---|
|
---|
|
---|
|
---|
|
---|
Indica o limite superior e inferior de um campo respeitando a classificação das informações atual. |
---|
null
FWBrowse(): |
---|
SetFilter ( < |
---|
cCpoFil>, < cTopFun>, [ |
---|
cBotFun] ) --> |
---|
|
---|
|
---|
|
---|
|
---|
|
---|
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(): |
---|
SetFilterDefault ( < |
---|
cFilterDefault> ) --> |
---|
|
---|
|
---|
|
---|
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 |
---|
null
Indica o filtro padrão do
Browse. |
---|
FWBrowse(): |
---|
SetFilterRelation ( < aFilterRelation>, < |
---|
bChgFields> ) --> |
---|
|
---|
|
---|
|
---|
|
---|
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(): |
---|
SetFocus ( |
---|
) --> |
---|
Nome | Tipo | Descrição | Obrigatório | Referência |
aFilterRelation | Array of Record | Array contendo os itens do relacionamento. | X | |
bChgFields | Bloco de código | Indica o Code-Block executado para trocar os campos para o filtro. | X |
null
Indica a fonte do Browse. |
---|
FWBrowse(): |
---|
SetFontBrowse ( [ oFont] ) --> |
---|
|
---|
Indica a cor da fonte no |
---|
Browse. |
---|
FWBrowse(): |
---|
SetForeColor ( < nForeColor> ) --> |
---|
|
---|
|
---|
|
---|
|
---|
|
---|
Indica que o Browse utiliza agrupamento de informações |
---|
null
Indica a cor da fonte no Browse
. |
---|
FWBrowse(): |
---|
SetGroup ( < |
---|
bGroup>, [ lOpen] ) --> |
---|
|
---|
|
---|
|
---|
|
---|
|
---|
null
|
---|
Indica a imagem que será apresentada ao lado do título da coluna. |
---|
FWBrowse(): |
---|
SetHeaderImage ( < |
---|
nColumn>, < cResource> ) --> |
---|
|
---|
|
---|
|
---|
Indica que o usuário poderá inserir novas linhas no Browse. |
---|
null
FWBrowse(): |
---|
SetInsert ( [ lInsert] ) --> |
---|
|
---|
|
---|
|
---|
null
|
---|
Indica os itens que serão disponibilizados para a configuração do duplo clique pelo usuário. |
---|
FWBrowse(): |
---|
SetItemDoubleClick ( < |
---|
aItemDoubleClick> ) --> |
---|
|
---|
|
---|
|
---|
|
---|
null
Indica os itens que serão disponibilizados para a configuração do clique no header pelo usuário |
---|
. |
---|
FWBrowse(): |
---|
SetItemHeaderClick ( < aItemHeaderClick> ) --> |
---|
|
---|
null
|
---|
|
---|
Indica a linha do arquivo texto que deverá ser considerado para ínicio da leitura no Browse. |
---|
FWBrowse(): |
---|
SetLineBegin ( < |
---|
nLineBegin> ) --> |
---|
|
---|
|
---|
|
---|
Indica a altura da linha no Browse. |
---|
FWBrowse(): |
---|
SetLineHeight ( [ nHeight] ) --> |
---|
|
---|
|
---|
|
---|
null
|
---|
Indica o Code-Block executado na troca de linha do Browse. |
---|
FWBrowse(): |
---|
SetLineOk ( < |
---|
bLineOk> ) --> |
---|
|
---|
|
---|
|
---|
|
---|
null
Habilita a utilização do localizador de registros no Browse. |
---|
FWBrowse(): |
---|
SetLocate ( [ |
---|
bAction] ) --> |
---|
|
---|
null
|
---|
Indica que a legenda será representada por números. |
---|
FWBrowse(): |
---|
SetNumberLegend ( [ lNumber] ) --> |
---|
|
---|
null
|
---|
Indica o objeto FWMARKBROWSE utilizado na passagem de parâmetros na execução das rotinas na FWFORMBROWSE. |
---|
Habilita a utilização do localizador de registros no Browse.
FWBrowse(): SetObjMark ( < oObjMark> ) -->
|
---|
Indica se a selecão de um filtro é obrigatório para a apresentação do browse. |
---|
FWBrowse(): |
---|
SetObligateFilter ( [ |
---|
lObligateFilter], [ lCanCancel] ) --> |
---|
|
---|
|
---|
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
Indica que a legenda será representada por números.
FWBrowse(): |
---|
SetOwner ( [ |
---|
oOwner] ) --> |
---|
|
---|
|
---|
|
---|
|
---|
null
Indica o objeto FWMARKBROWSE utilizado na passagem de parâmetros na execução das rotinas na FWFORMBROWSE.
Indica que será permitido a edição de células no BrowseSintaxe FWBrowse(): |
---|
...
SetEditCell ( < |
---|
...
lEditCell>,<bValidEdit> ) --> Parâmetros |
---|
...
|
---|
...
|
---|
...
|
---|
...
|
---|
...
|
---|
null
|
---|
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> ) --> |
---|
|
---|
|
---|
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.FWBrowse(): SetProfileID ( < cProfileID> ) -->
|
---|
Indica a Query que será utilizada para criação do Browse. |
---|
Indica o container para criação do Browse.
FWBrowse(): |
---|
SetQuery ( < cQuery> ) --> |
---|
|
---|
|
---|
|
---|
|
---|
null
| ||
---|---|---|
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(): |
---|
SetQueryIndex ( < |
---|
aIndex> ) --> |
---|
|
---|
|
---|
Habilita a utilização da pesquisa de registros no Browse. |
---|
null
FWBrowse(): SetProfileID ( < cProfileID> ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
cProfileID | Caracter | Identificador do Browse | X |
null
FWBrowse(): |
---|
SetSeek ( [ bAction], [ aOrder] ) --> |
---|
|
---|
|
---|
null
|
---|
Indica os índices utilizados pela Query na criação do Browse.
|
---|
|
---|
FWBrowse(): SetQueryIndex ( < aIndex> ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
aIndex | Array of Record | Indica os índices utilizados pela Query na criação do Browse. | X |
null
|
---|
|
---|
FWBrowse(): SetSeek ( [ bAction], [ aOrder] ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
bAction | Bloco de código | Code-Block executado para a pesquisa de registros, caso não seja informado será utilizado o padrão. | ||
aOrder | Array of Record | Array contendo as informações para criação dos detalhes da pesquisa. |
null
|
---|
Indica o Code-Block executado na mudança da ordem de pesquisa.FWBrowse(): SetSeekChange ( [ bSeekChange] ) --> |
---|
|
---|
null
Indica se apresenta somente o limite de informacoes do Browse do tipo Query quando a Query ultrapassar o limite definido.FWBrowse(): SetShowLimit ( [ lShowLimit] ) --> |
---|
|
---|
null
Indica o Code-Block executado ao pressionar as teclas CTRL+Del.FWBrowse(): SetSuperDel ( < bSuperDel> ) --> |
---|
|
---|
null
Indica o tipo de navegação do BrowseFWBrowse(): SetTypeMove ( < nTypeMove> ) --> |
---|
|
---|
null
Habilita a utilização do filtro case no Browse.FWBrowse(): SetUseCaseFilter ( [ nAlign] ) --> |
---|
|
---|
Observações
null
Habilita a utilização do filtro no Browse.FWBrowse(): SetUseFilter ( [ nAlign], [ bOnStart] ) --> |
---|
|
---|
|
---|
Este método espera que os campos para filtro tenham sido definidos previamente pelo método SetFieldFilter. 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> ) --> |
---|
|
---|
null
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) --> |
---|
Lógico, indica se a definição dos campos aconteceu ou não. |
---|
Retorna a lista com os campos ou colunas definidos como chave para o browse.Sintaxe FWBrowse(): GetUniqueKey() --> Array, lista com os campos definidos como chave do browse. |
---|
Captura o conteúdo dos campos e colunas informados como chave do browse.Sintaxe FWBrowse(): SetUniqueKey(aSetKey) --> 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 } }. |
---|
Posiciona o browse no registro conforme a chave recebida por parâmetro.Sintaxe FWBrowse(): SetUniqueKey(aDataKey) --> Parâmetros
Lógico, indica se foi possível realizar o posicionamento no registro do browse conforme o parâmetro informado. |
---|
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
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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Function u_FwBrwQry()
Local oDlg As Object
Local aColumns As Array
Local nContFlds As Numeric
Local cAliasTemp As Character
Local oBrowse As Object
Local aFields As Array
cAliasTemp := MpSysOpenQuery( "SELECT * FROM " + RetSqlName("SC5") + " WHERE D_E_L_E_T_ = ''" )
DEFINE MSDIALOG oDlg TITLE "Browse com Query" FROM 0,0 TO 600, 800 PIXEL
oBrowse := FWBrowse():New()
oBrowse:SetDataTable( .T. )
oBrowse:SetAlias( cAliasTemp )
oBrowse:SetOwner( oDlg )
oBrowse:SetDescription( "Browse com Query" )
//-------------------------------------------------------------------
// Adiciona as colunas do Browse
//------------------------------- |
#INCLUDE "FWBROWSE.CH"
User Function BrwTable()
Local oBrowse
Local oColumn
Local oDlg
//------------------------------------ |
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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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( |
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 |
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