Histórico da Página
...
Classe: FWFormView
Compatível Países: | Todos |
Sistemas Operacionais: | Todos |
Compatível às Bases de Dados: | Todos |
Nível de Acesso: | Nível 1 (Acesso Clientes) |
Idiomas: | Português, Inglês, Espanhol |
Versão | P10 R1.4 <br /> |
Descrição
Fornece uma interface gráfica para um model(FWFormModel/MPFormModel).
A classe fornece as opções graficas abaixo:
- Criação de formulário do tipo FormField, onde é possível que o usuário edite um registro por vez
- Criação de formulário do tipo FormGrid, onde é possível que o usuário edite N registros por vez
- Criação de botões
- Divisão da tela em diversos paineis
- Criação de Folder
A classe fornece as opções graficas abaixo:
- Criação de formulário do tipo FormField, onde é possível que o usuário edite um registro por vez
- Criação de formulário do tipo FormGrid, onde é possível que o usuário edite N registros por vez
- Criação de botões
- Divisão da tela em diversos paineis
- Criação de Folder
Exemplo
Static Function ViewDef()
Local oView
Local oStructSA1
//-------------------------------------------------------------------
//Busca o Model da SA1
//-------------------------------------------------------------------
Local oModel := FWLoadModel("MATA010_MVC") //Busca o Model da SA1
//-------------------------------------------------------------------
//Instancia o objeto
//-------------------------------------------------------------------
oView := FWFormView():New()
//-------------------------------------------------------------------
//Faz a carga dos campos do SA1 do dicionario (Apenas Protheus)
//-------------------------------------------------------------------
oStructSA1 := FWFormStruct(2,"SA1")
//-------------------------------------------------------------------
// Set o Model que esse view ira ultilizar
//-------------------------------------------------------------------
oView:SetModel(oModel)
//-------------------------------------------------------------------
//Adiciona um Field(antiga Enchoice)
//-------------------------------------------------------------------
oView:AddField( "MATA010_SA1" , oStructSA1)
//-------------------------------------------------------------------
//Cria um box Horizontal de 100% do Owner
//-------------------------------------------------------------------
oView:CreateHorizontalBox("CABEC",100)
//-------------------------------------------------------------------
//Mapeia a Field("MATA010_SA1") criada no Box("CABEC" criado
//-------------------------------------------------------------------
oView:SetOwnerView( "MATA010_SA1","CABEC")
//-------------------------------------------------------------------
//HAbilita o ControlBar(Antiga EnchoiceBar)
//-------------------------------------------------------------------
oView:EnableControlBar(.T.)
Return oView
Observações
Quando utilizamos o FWBrowse na rotina, não é necessário implementar a passagem de Owner, pois é feita
pelo FWBrowse, caso contrário é necessário passar o Owner através do metódo SetOwner.
Veja também
FWFormModel
MPFormModel
New
Sintaxe
FWFORMVIEW():New([ oViewOwner ])-> NIL
Descrição
Método construtor da classe
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
oViewOwner | Objeto | Objeto do tipo FWFormView que será o pai da view. Quando uma view possui uma view pai, ela não realiza a gravação dos dados quando o botão OK é acionado. O model é preenchido, todavia a gravação dos dados fica como responsabilidade da view pai. | NIL |
setUseCursor
Sintaxe
FWFORMVIEW():setUseCursor(<lValue >)-> NIL
Descrição
Define se será habilitado o uso do cursor(navegação em registros).
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
lValue | Lógico | Se falso desabilita o uso. O padrão da view é manter o curso habilitado. | X |
Observações
Se o fonte chama o mvc através do browse esse método não tem
efeito, o cursor será sempre habilitado.
SetModel
Sintaxe
FWFORMVIEW():SetModel(<oObj >)-> NIL
Descrição
Seta o relacionamento da View com o Model. Esse método é obrigatório
ser usado, pois uma view sempre precisa de um model.
ser usado, pois uma view sempre precisa de um model.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
oObj | Objeto | Objeto do tipo FWFormModel/MPFormModel a se associar a view. | X |
AddField
Sintaxe
FWFORMVIEW():AddField(<cViewID >, <oStruct >, [ cSubModelID ])-> NIL
Descrição
Adiciona ao view um formulário do tipo FormFields(antiga enchoice).
Nesse formulário o usuário poderá editar um registro por vez.
Nesse formulário o usuário poderá editar um registro por vez.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cViewID | Caracteres | ID do formulário. Esse ID será utilizado em diversos momentos na criação da view. | X | ||
oStruct | Objeto | Objeto do tipo FWFormViewStruct a ser usado no formulário | X | ||
cSubModelID | Caracteres | ID do submodelo do tipo FormField do model ao qual o formulário se relaciona. | "" |
Observações
Pode-se usar o mesmo ID do submodelo para o formulário, quando isso é feito não é
necessário passar o terceiro parametro.
Exemplo:
Static Function ModelDef()
Local oModel := MPFormModel():New("MODEL")
Local oStruZA1:= FWFormStruct(1,'ZA1')
oModel:addFields('ZA1MASTER',,oStruZA1)
Return
Static Function ViewDef()
Local oModel := ModelDef()
Local oView := FWFormView():New()
Local oStruZA1:= FWFormStruct(2,'ZA1')
oView:SetModel(oModel)
oView:addField('ZA1MASTER',oStruZA1)
Return
Veja também
FWFormViewStruct
Função FWFormStruct
AddGrid
Sintaxe
FWFORMVIEW():AddGrid(<cViewID >, <oStruct >, [ cSubModelID ], <uParam4 >, [ bGotFocus ])-> NIL
Descrição
Adiciona ao view um formulário do tipo FWFormGrid.
Nesse formulário o usuário poderá editar N registros por vez.
Nesse formulário o usuário poderá editar N registros por vez.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cViewID | Caracteres | ID do formulário. Esse ID será utilizado em diversos momentos na criação da view. | X | ||
oStruct | Objeto | Objeto do tipo FWFormViewStruct a ser usado no formulário. | X | ||
cSubModelID | Caracteres | ID do submodelo do tipo FormField do model ao qual o formulário se relaciona. | "" | ||
uParam4 | Qualquer | Compatibilidade. | X | ||
bGotFocus | Bloco de Código | Bloco de código invocado no momento que o grid ganha o foco. O bloco não recebe parametro e nem precisa retornar algum valor. | NIL |
Observações
Pode-se usar o mesmo ID do submodelo para o formulário, quando isso é feito não é
necessário passar o terceiro parametro.
Exemplo:
Static Function ModelDef()
Local oModel := MPFormModel():New("MODEL")
Local oStruZA1:= FWFormStruct(1,'ZA1')
Local oStruZA2:= FWFormStruct(1,'ZA2')
oModel:addFields('ZA1MASTER',,oStruZA1)
oModel:addGrid('ZA2DETAIL',,oStruZA2)
Return
Static Function ViewDef()
Local oModel := ModelDef()
Local oView := FWFormView():New()
Local oStruZA1:= FWFormStruct(2,'ZA1')
Local oStruZA2:= FWFormStruct(2,'ZA2')
oView:SetModel(oModel)
oView:addField('ZA1MASTER',oStruZA1)
oView:addGrid('ZA2DETAIL',oStruZA2)
Return
Veja também
FWFormViewStruct
Função FWFormStruct
AddTreeGrid
Sintaxe
FWFORMVIEW():AddTreeGrid(<cID >, <aInfos >, <cIdDetail >)-> NIL
Descrição
Adiciona um formulário do tipo Tree baseado em submodelos do tipo FormGrid que estejam no model,
transformando o grid em tree.
transformando o grid em tree.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cID | Caracteres | ID do tree. Esse ID será utilizado em diversos momentos na criação da view. | X | ||
aInfos | Array | Array com as informações dos submodelos que devem aparecer no tree, no formato abaixo: [n] array [n][1] ExpC : ID do SubModelo [n][2] ExpA: Array unidimensional com os IDs dos campos que devem aparecer no tree [n][3] ExpO: Objeto do tipo FWFormViewStruct com a Estruturas de Dados | X | ||
cIdDetail | Caracteres | ID do formulário de detalhes dos itens do Tree. | X |
Exemplo
Static Function ViewDef()
Local aTreeInfo:={}
// Cria a estrutura a ser usada na View
Local oStruZA3 := FWFormStruct( 2, 'ZA3' )
Local oStruZA4 := FWFormStruct( 2, 'ZA4' )
Local oStruZA5 := FWFormStruct( 2, 'ZA5' )
// Cria um objeto de Modelo de Dados baseado no ModelDef do fonte informado
Local oModel := FWLoadModel( 'COMP023_MVC' )
Local oView
// Remove campos da estrutura
oStruZA4:RemoveField( 'ZA4_ALBUM' )
oStruZA5:RemoveField( 'ZA5_ALBUM' )
oStruZA5:RemoveField( 'ZA5_MUSICA' )
// Cria o objeto de View
oView := FWFormView():New()
// Define qual o Modelo de dados será utilizado
oView:SetModel( oModel )
//Adiciona no nosso View um controle do tipo FormFields
oView:AddField( 'VIEW_ZA3', oStruZA3, 'ZA3MASTER' )
// Cria a estrutura das grids em formato de árvore
aAdd( aTreeInfo, { "ZA4DETAIL", { "ZA4_MUSICA", "ZA4_TITULO" }, oStruZA4 } )
aAdd( aTreeInfo, { "ZA5DETAIL", { "ZA5_INTER" } , oStruZA5 } )
oView:AddTreeGrid( "TREE", aTreeInfo, "DETAIL_TREE" )
// Criar "box" horizontal para receber algum elemento da view
oView:CreateHorizontalBox( 'EMCIMA' , 20 )
oView:CreateHorizontalBox( 'EMBAIXO', 80 )
// Criar "box" vertical para receber algum elemento da view
oView:CreateVerticalBox( 'EMBAIXOESQ', 30, 'EMBAIXO' )
oView:CreateVerticalBox( 'EMBAIXODIR', 70, 'EMBAIXO' )
// Relaciona o ID da View com o "box" para exibicao
oView:SetOwnerView( 'VIEW_ZA3' , 'EMCIMA' )
oView:SetOwnerView( 'TREE' , 'EMBAIXOESQ' )
oView:SetOwnerView( 'DETAIL_TREE', 'EMBAIXODIR' )
Return oView
Veja também
FWFormViewStruct
Função FWFormStruct
GetViewObj
Sintaxe
FWFORMVIEW():GetViewObj(<cFormModelID >)-> oObjeto
Descrição
Retorna um Array com informações do formulario procurado.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cFormModelID | Caracteres | Representa o ID | X |
Retorno
oObjeto Objeto que pode ser um FWFormView e FWFormGrid ou FWOtherObject
GetListFields
Sintaxe
FWFORMVIEW():GetListFields()-> aRetorno
Descrição
Retorna a lista de campos que estão presente no View
Retorno
aRetorno Array na seguinte estrutura
[n]
[n][1] ExpC: Id do formulário
[n][2] ExpC: Id do campo
[n][3] ExpC: Picture
[n][4] ExpA: Array com as opções de ComboBox
[n][5] ExpL :Visual
[n]
[n][1] ExpC: Id do formulário
[n][2] ExpC: Id do campo
[n][3] ExpC: Picture
[n][4] ExpA: Array com as opções de ComboBox
[n][5] ExpL :Visual
SetOwnerView
Sintaxe
FWFORMVIEW():SetOwnerView(<cViewID >, [ cIDBox ])-> NIL
Descrição
Relaciona um formulário ou uma pasta com um box visual.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cViewID | Caracteres | ID do formulário (definido pelo metodo addField/addGrid/AddTreeGrid). | X | ||
cIDBox | Caracteres | ID do Box que onde será encaixado o componente (definido pelo metodo CreateHorizontalBox/CreateVerticalBox). |
ClassName
Sintaxe
FWFORMVIEW():ClassName()-> cClassName
Descrição
Retorna o nome da classe (FWFORMVIEW)
Retorno
cClassName Nome da classe
CreateFolder
Sintaxe
FWFORMVIEW():CreateFolder(<cIDFolder >, <cIDOwner >)-> NIL
Descrição
Cria uma pasta dentro de um box. Esse método cria somente o espaço onde
será possível criar as abas da pasta, ele não cria as abas, para cria-las veja
o método AddSheet.
Cria uma Folder num Box especifico, ou Adiciona uma folder ao um FormField existente.
será possível criar as abas da pasta, ele não cria as abas, para cria-las veja
o método AddSheet.
Cria uma Folder num Box especifico, ou Adiciona uma folder ao um FormField existente.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIDFolder | Caracteres | ID da Folder a ser criada | X | ||
cIDOwner | Caracteres | Id do Owner. Pode ser um box ou um formulário do tipo FormField que ja contenha folders(via estrutura,Ex. Dic). No segundo caso não será criada outra pasta, as abas adicionadas a pasta serão colocadas dentro do FormField, ao lado das abas já existentes da estrutura de dados. | "" | X |
addSheet
Sintaxe
FWFORMVIEW():addSheet(<cIDFolder >, <cIDSheet >, <cTitulo >, <bAction >)-> NIL
Descrição
Adiciona uma aba dentro de uma folder.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIDFolder | Caracteres | ID do folder | X | ||
cIDSheet | Caracteres | ID para a Aba | X | ||
cTitulo | Caracteres | Titulo da Aba | X | ||
bAction | Bloco de Código | Bloco de codigo acionado quando a Aba for selecionada, não recebe nenhum parametro e nem deve retornar valor. | X |
Exemplo
Static Function ViewDef()
Local oModel := ModelDef()
Local oView
Local oStr1:= FWFormStruct(2, 'ZA1')
Local oStr2:= FWFormStruct(2, 'ZA2')
oView := FWFormView():New()
oView:SetModel( oModel )
oView:AddField('ZA1MASTER' , oStr1)
oView:AddGrid('ZA2DETAIL' , oStr2)
oView:CreateHorizontalBox( 'BOX6', 100)
oView:CreateFolder( 'FOLDER7', 'BOX6')
oView:AddSheet('FOLDER7','SHEET9','SHEET9')
oView:CreateHorizontalBox( 'BOXFORM2', 100, , , 'FOLDER7', 'SHEET9')
oView:AddSheet('FOLDER7','SHEET8','SHEET8')
oView:CreateHorizontalBox( 'BOXFORM4', 100, , , 'FOLDER7', 'SHEET8')
oView:SetOwnerView('ZA1MASTER','BOXFORM2')
oView:SetOwnerView('ZA2DETAIL','BOXFORM4')
Return
SetOwner
Sintaxe
FWFORMVIEW():SetOwner(<oOwner >, [ lCloseOnOK ])-> NIL
Descrição
Seta o Owner (Dialog principal) onde a view deve ser criada.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
oOwner | Objeto | Objeto do tipo Dialog(tDialog, tWindow, tPanel) que será pai dos objetos graficos. | X | ||
lCloseOnOK | Lógico | Se verdadeiro determina que ao clicar em OK na ControlBar(se ela for usada) ira fechar o Owner. | .F. |
Observações
Quando utilizamos o FWBrowse na rotina, não é necessário implementar a passagem de Owner, pois é feita
pelo FWBrowse.
GetValue
Sintaxe
FWFORMVIEW():GetValue(<cIDSubModel >, <cFieldID >, <nLine >)-> xValue
Descrição
Retorna o valor de um determinado campo.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIDSubModel | Caracteres | ID do submodelo ou então do formulário (somente se os dois forem iguais) | X | ||
cFieldID | Caracteres | ID do campo | X | ||
nLine | Numérico | Número da Linha(caso o submodelo seja um Grid) | X |
Retorno
xValue Valor do Campo em questão.
CanSetValue
Sintaxe
FWFORMVIEW():CanSetValue(<cIDSubModel >, <cIdField >)-> lRet
Descrição
Retorna se um determinado campo pode ter seu valor alterado.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIDSubModel | Caracteres | ID do submodelo ou então do formulário (somente se os dois forem iguais) | X | ||
cIdField | Caracteres | ID do campo | X |
Retorno
lRet Set verdadeiro o campo pode ser alterado.
Activate
Sintaxe
FWFORMVIEW():Activate()-> NIL
Descrição
Inicializa o View. Chama em cascata todos os Activates dos formulários, containers e model que estiverem nele.
Esse método deve ser usado quando o componente de view já está inteiramente configurado e o model
relacionado não pode estar ativo.
Esse método deve ser usado quando o componente de view já está inteiramente configurado e o model
relacionado não pode estar ativo.
Observações
Cuidado ao usa-lo, pois em loop pode ocorrer perda de peformace.
DeActivate
Sintaxe
FWFORMVIEW():DeActivate()-> NIL
Descrição
Desativa os formulários, containers e model, limpando todos os dados
dos formulários gráficos e dos submodelos e também matando todos os
componentes gráficos.
dos formulários gráficos e dos submodelos e também matando todos os
componentes gráficos.
setOperation
Sintaxe
FWFORMVIEW():setOperation(<nOpe >)-> NIL
Descrição
Informa qual é o modo de operação para o View.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
nOpe | Numérico | Número da operação, podendo ser: 1 - Visualização 3 - Inserção 4 - Atualização 5 - Exclusão 9 - Cópia | X |
Observações
O setOperation vale para todos os Views. Não é possível setar cada Field/Grid em uma operação diferente.
EnableControlBar
Sintaxe
FWFORMVIEW():EnableControlBar(<lSet >)-> NIL
Descrição
Habilita o uso do ControlBar(Antiga EnchoiceBar)
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
lSet | Lógico | Se verdadeiro habilita o controlBar. | X |
ButtonOkAction
Sintaxe
FWFORMVIEW():ButtonOkAction(<lIsOwnerDlg >)-> NIL
Descrição
Executação a ação que estiver programada para o botão OK.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
lIsOwnerDlg | Lógico | Se verdadeiro diz que a o owner do view é uma Dialog. | X |
ButtonCancelAction
Sintaxe
FWFORMVIEW():ButtonCancelAction()-> NIL
Descrição
Executa ação programada para o botão cancelar.
createHorizontalBox
Sintaxe
FWFORMVIEW():createHorizontalBox(<cID >, <nPercHeight >, <cIdOwner >, <lFixPixel >, <cIDFolder >, <cIDSheet >)-> NIL
Descrição
Cria um box horizontal dentro do container do view. Ele é necessário para dividir a tela em diversas partes.
Um box horizontal somente pode ser criado dentro de um box vertical ou então no painel principal da view.
Um box horizontal somente pode ser criado dentro de um box vertical ou então no painel principal da view.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cID | Caracteres | ID do Box a ser utilizado. | X | ||
nPercHeight | Numérico | Valor da Altura do box( caso o lFixPixel seja verdadeiro é a quantidade de pixel exato). | X | ||
cIdOwner | Caracteres | ID do Box Vertical pai. Podemos fazer diversas criações uma dentro da outra. | X | ||
lFixPixel | Lógico | Determina que o valor passado no parametro nPercHeight é na verdade a quantidade de pixel a ser usada. | X | ||
cIDFolder | Caracteres | ID da folder onde queremos criar o box. Esse parametro deve ser passado sempre que o box for criado dentro de uma sheet e, se passado esse valor, é necessário informar o parametro cIDSheet. | NIL | X | |
cIDSheet | Caracteres | ID da Sheet onde queremos criar o box, esse parametro deve ser passado sempre que o box for criado dentro de uma sheet. | X |
createVerticalBox
Sintaxe
FWFORMVIEW():createVerticalBox(<cID >, <nPercHeight >, <cIdOwner >, <lFixPixel >, <cIDFolder >, <cIDSheet >)-> NIL
Descrição
Cria um box vertical dentro do container do view. Ele é necessário para dividir a tela em diversas partes.
Um box vertical somente pode ser criado dentro de um box horizontal.
Um box vertical somente pode ser criado dentro de um box horizontal.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cID | Caracteres | ID do Box a ser utilizado. | X | ||
nPercHeight | Numérico | Valor da Altura do box( caso o lFixPixel seja verdadeiro é a quantidade de pixel exato). | X | ||
cIdOwner | Caracteres | ID do Box Horizontal pai. Podemos fazer diversas criações uma dentro da outra. | X | ||
lFixPixel | Lógico | Determina que o valor passado no parametro nPercHeight é na verdade a quantidade de pixel a ser usada. | X | ||
cIDFolder | Caracteres | ID da folder onde queremos criar o box. Esse parametro deve ser passado sempre que o box for criado dentro de uma sheet e, se passado esse valor, é necessário informar o parametro cIDSheet. | NIL | X | |
cIDSheet | Caracteres | ID da Sheet onde queremos criar o box, esse parametro deve ser passado sempre que o box for criado dentro de uma sheet. | X |
addIncrementField
Sintaxe
FWFORMVIEW():addIncrementField(<cIDView >, <cField >)-> NIL
Descrição
Adiciona um campo para ser AutoIncremental em um FormGrid.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIDView | Caracteres | Id do formulário onde o campo está, necessario ser um FormGrid. | X | ||
cField | Caracteres | Id do Campo que será autoIncremental | X |
GetViewStruct
Sintaxe
FWFORMVIEW():GetViewStruct(<cID >)-> oFormViewStruct
Descrição
Recupera o objeto com a estrutura de dados de um formulário.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cID | Caracteres | ID do formulário que se deseja recuperar a estrutura. | X |
Retorno
oFormViewStruct Objeto com a estrutura de dados.
GetModel
Sintaxe
FWFORMVIEW():GetModel([ cIDSubModel ])-> oRetorno
Descrição
Fornece um objeto de submodelo do Model.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIDSubModel | Caracteres | ID do submodelo ou então do formulário (somente se os dois forem iguais). |
Retorno
oRetorno Objeto do tipo FWFormFieldsModel ou FWFormGridModel.
SetDescription
Sintaxe
FWFORMVIEW():SetDescription(<cDescription >)-> NIL
Descrição
Atribui um texto explicativo sobre o objetivo da view.
O objetivo é mostrado em diversos operações, tais como web services,
relatórios e schemas (xsd).
O objetivo é mostrado em diversos operações, tais como web services,
relatórios e schemas (xsd).
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cDescription | Caracteres | Descrição do objetivo da view | X |
GetDescription
Sintaxe
FWFORMVIEW():GetDescription()-> cDescription
Descrição
Fornece um texto com a descrição do objetivo do View.
Retorno
cDescription Descrição do objetivo do view.
SetNoInsertLine
Sintaxe
FWFORMVIEW():SetNoInsertLine(<cIDView >)-> NIL
Descrição
Especifica que o formulário do tipo grid não pode receber inserção de linha.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIDView | Caracteres | ID do formulário (grid) | X |
SetNoUpdateLine
Sintaxe
FWFORMVIEW():SetNoUpdateLine(<cIDView >)-> NIL
Descrição
Especifica que o formulário do tipo grid não pode receber alteração nas linha.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIDView | Caracteres | ID do formulário (grid) | X |
SetNoDeleteLine
Sintaxe
FWFORMVIEW():SetNoDeleteLine(<cIDView >)-> NIL
Descrição
Especifica que o formulário do tipo grid não pode receber exclusão de linha.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIDView | Caracteres | ID do formulário (grid) | X |
CanInsertLine
Sintaxe
FWFORMVIEW():CanInsertLine(<cIDView >)-> lInsertLine
Descrição
Informa se o grid aceita a inserção de novas linhas.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIDView | Caracteres | ID do formulário (grid) | X |
Retorno
lInsertLine Se verdadeiro a inclusão de linhas é permitida.
CanUpdateLine
Sintaxe
FWFORMVIEW():CanUpdateLine(<cIDView >)-> lUpdateLine
Descrição
Informa se o grid aceita a manutenção nas linhas.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIDView | Caracteres | ID do formulário (grid) | X |
Retorno
lUpdateLine Se verdadeiro a manutenção é permitida.
CanDeleteLine
Sintaxe
FWFORMVIEW():CanDeleteLine(<cIDView >)-> lDeleteLine
Descrição
Informa se o grid aceita exclusão nas linhas.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIDView | Caracteres | ID do formulário (grid) | X |
Retorno
lDeleteLine Se verdadeiro a exclusão é permitida.
getWhenFields
Sintaxe
FWFORMVIEW():getWhenFields(<cIDSubModel >)-> aFields
Descrição
Retorna os campos que precisam ser avaliados no when. Esse método somente
pode ser usado para analisar submodelos do tipo formField.
pode ser usado para analisar submodelos do tipo formField.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIDSubModel | Caracteres | ID do submodelo ou então do formulário (somente se os dois forem iguais) | X |
Retorno
aFields Array unidimensional com o ID dos campos
addUserButton
Sintaxe
FWFORMVIEW():addUserButton(<cTitle >, <cResource >, <bBloco >, [ cToolTip ], [ nShortCut ], [ aOptions ])-> NIL
Descrição
Adiciona botões do desenvolvedor na barra de ferramentas do formulario.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cTitle | Caracteres | Titulo do Botao | X | ||
cResource | Caracteres | Nome do resource compilado no RPO que será a imagem do botao. | X | ||
bBloco | Bloco de Código | Bloco de codigo que será executado, esse bloco recebe o objeto oView(FWFormView) como parametro. | X | ||
cToolTip | Caracteres | Comentário do botão | CTITLE | ||
nShortCut | Numérico | Codigo da Tecla para criação de Tecla de Atalho | |||
aOptions | Array | Array unidimensional com as operações(MODEL_OPERATION_VIEW,MODEL_OPERATION_INSERT ,MODEL_OPERATION_UPDATE,MODEL_OPERATION_DELETE) que o botao ira ser mostrado, caso o parametro nao seja informado, irá mostrar em todos. | {MODEL_OPERATION_VIEW,MODEL_OPERATION_INSERT ,MODEL_OPERATION_UPDATE,MODEL_OPERATION_DELETE} |
Exemplo
oView := FWFormView()
bBlocoMagic := {|oView| Myfunction(oView)}
oView:AddUserBotton("Texto abaixo do botão","MAGIC_BMP",bBlocoMagic,"Comentário do botão")
Refresh
Sintaxe
FWFORMVIEW():Refresh([ cViewID ])-> NIL
Descrição
Executa o refresh dos componentes Visuais.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cViewID | Caracteres | ID do formulário. Se o parametro não for passado, o refresh será executado em todos os componentes da view. | '' |
GetUseControlBar
Sintaxe
FWFORMVIEW():GetUseControlBar()-> lUseControlBar
Descrição
Verifica se o uso do ControlBar(Antiga EnchoiceBar) está habilitado.
Retorno
lUseControlBar Se verdadeiro o uso está habilitado.
SetCloseOnOk
Sintaxe
FWFORMVIEW():SetCloseOnOk(<bBlock >)-> NIL
Descrição
Metodo que seta um bloco de código para verificar se a janela deve ou não
ser fechada após a execução do botão OK. Se o view estiver valido, o
bloco de código é invocado e recebe como parametro o View. O bloco deve
retornar verdadeiro para Fechar a janela ou falso para manter ela aberta.
ser fechada após a execução do botão OK. Se o view estiver valido, o
bloco de código é invocado e recebe como parametro o View. O bloco deve
retornar verdadeiro para Fechar a janela ou falso para manter ela aberta.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
bBlock | Bloco de Código | Bloco de Codigo a ser executado | X |
SetAfterOkButton
Sintaxe
FWFORMVIEW():SetAfterOkButton(<bBlock >)-> NIL
Descrição
Metodo que seta um bloco de código que será chamado no final da execução
do botão OK. O bloco recebe como parametro o objeto de View e não
precisa retornar nenhum valor.
do botão OK. O bloco recebe como parametro o objeto de View e não
precisa retornar nenhum valor.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
bBlock | Bloco de Código | Bloco de Codigo a ser executado. | X |
SetViewCanActivate
Sintaxe
FWFORMVIEW():SetViewCanActivate(<bBlock >)-> NIL
Descrição
Metodo que seta um Code-block para ser avaliado antes de se ativar o View,
caso precisamos avaliar, ou questionar o usuario sobre algo.
No momento de chamada desse bloco o Model e o View não estão ativos,
portanto não é possivel recuperar dados.
O bloco recebe como parametro o objeto oView e deve retornar verdadeiro
para permitir a ativação. Se retornar falso a janela será fechada.
caso precisamos avaliar, ou questionar o usuario sobre algo.
No momento de chamada desse bloco o Model e o View não estão ativos,
portanto não é possivel recuperar dados.
O bloco recebe como parametro o objeto oView e deve retornar verdadeiro
para permitir a ativação. Se retornar falso a janela será fechada.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
bBlock | Bloco de Código | Bloco de Codigo a ser executado | X |
ShowLastError
Sintaxe
FWFORMVIEW():ShowLastError()-> NIL
Descrição
Mostra o ultimo erro ocorrido.
GetMaxLines
Sintaxe
FWFORMVIEW():GetMaxLines(<cIDView >)-> nMax
Descrição
Retorna quantas linhas o um formulário do tipo grid aceita.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIDView | Caracteres | Id do formulário a ser analisado. | X |
Retorno
nMax Quantidade maxima de linhas permitidas.
SetVldActivate
Sintaxe
FWFORMVIEW():SetVldActivate()-> NIL
Descrição
Obsoleto
Método em desuso. Use o método SetViewCanActivate.
SetAfterViewActivate
Sintaxe
FWFORMVIEW():SetAfterViewActivate(<bBloco >)-> NIL
Descrição
Seta um bloco de código que será chamado depois do Activate do View. Esse bloco
será apenas executado, o retorno dele não será observado.
O bloco de código recebe como parametro o objeto View.
será apenas executado, o retorno dele não será observado.
O bloco de código recebe como parametro o objeto View.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
bBloco | Bloco de Código | Bloco de código a ser chamado. | X |
Exemplo
bBloco := {|oView| MinhaFunc(oView)}
oView:SetAfterViewActivate(bBloco)
GetbuttonWasPressed
Sintaxe
FWFORMVIEW():GetbuttonWasPressed()-> nButton
Descrição
Retorna qual botão causou o fechamento do View, o OK ou o Cancelar.
Retorno
nButton Retorna 0 se o botao foi o OK ou 1 se foi o Cancelar.
HasError
Sintaxe
FWFORMVIEW():HasError()-> Se
Descrição
Retorna se o view possui algum erro.
Retorno
Se verdadeiro o view possui algum erro pendente.
AddOtherObject
Sintaxe
FWFORMVIEW():AddOtherObject(<cViewID >, [ bActivate ], [ bDeActivate ], <bRefresh >)-> NIL
Descrição
Adiciona um painel onde é possível adicionar componentes que não sejam MVC.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cViewID | Caracteres | ID do painel otherObject | X | ||
bActivate | Bloco de Código | Bloco chamado no Activate do painel. Deve ser usado para criar os componentes do painel. O bloco recebe como parametro o painel onde serão criados os componentes. | |||
bDeActivate | Bloco de Código | Bloco chamado no DeActivate do painel. Deve ser usado para matar os objetos criados no painel. O bloco recebe como parametro o painel onde serão criados os componentes. | |||
bRefresh | Bloco de Código | Bloco chamado no refresh do painel. O bloco recebe como parametro o painel onde estão os componentes. | X |
Exemplo
Static Function ViewDef()
// Cria a estrutura a ser usada na View
Local oStruZA1 := FWFormStruct( 2, 'ZA1' )
Local oModel := FWLoadModel( 'COMP021G_MVC' )
Local oView
Local oGrafPizza
Local oGrafBar
oView := FWFormView():New()
oView:SetModel( oModel )
oView:AddField( 'VIEW_ZA1', oStruZA1, 'ZA1MASTER' )
oView:AddOtherObject("OTHER_PIZZA", {|oPanel| GrafPizza(oPanel)})
oView:CreateHorizontalBox( 'SUPERIOR', 53 )
oView:CreateHorizontalBox( 'INFERIOR', 47)
oView:SetOwnerView( 'VIEW_ZA1', 'SUPERIOR' )
oView:SetOwnerView("OTHER_PIZZA",'INFERIOR')
Return oView
GetOperation
Sintaxe
FWFORMVIEW():GetOperation()-> nOperation
Descrição
Retorna a operação que está definida no model.
Retorno
nOperation Indica a operação, sendo:
1 - View
3 - Insert
4 - Update
5 - Delete
6 - Only Update
1 - View
3 - Insert
4 - Update
5 - Delete
6 - Only Update
EnableTitleView
Sintaxe
FWFORMVIEW():EnableTitleView(<cViewID >, [ cTitle ])-> NIL
Descrição
Cria um título para um formulário (Somente pode ser usado para grid e field).
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cViewID | Caracteres | ID do formulário. | X | ||
cTitle | Caracteres | Titulo para o formulário. | OMODEL:GETDESCRIPTION() |
SetViewProperty
Sintaxe
FWFORMVIEW():SetViewProperty(<cViewID >, <cAction >, <aParam >)-> NIL
Descrição
Seta uma propriedade especifica para um formulário do tipo Grid ou Field.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cViewID | Caracteres | ID do formulário. Caso seja passado um * a propriedade será alterada em todos os formulários. Verifique as observações para saber quais propriedades aceitam essa opção. | X | ||
cAction | Caracteres | ID da propriedade. Verifique as observações para visualizar todas as opções disponíveis. | X | ||
aParam | Array | Array com os parametros a serem passado para a propriedade. Verifique as observações para detalhes sobre os parametros em cada item. | X |
Observações
Lista de propriedades disponíveis:
--------------------------------------------------------
|
| SETLAYOUT
| Tipo de formulário: FormField
| Descrição: Define o Layout da FormField
| aParam : Deve ser passado um array com a estrutura abaixo:
| [1] ExpN: Tipo de Layout. Use o FWEditPanel.CH e passe
| uma das opções abaixo:
| FF_LAYOUT_VERT_DESCR_TOP - Vertical com descrição acima do get
| LAYOUT_VERT_DESCR_LEFT - Vertical com descrição a esquerda
| FF_LAYOUT_HORZ_DESCR_TOP - Horizontal com descrição acima do get
| FF_LAYOUT_HORZ_DESCR_LEFT - Horizontal com descrição a esquerda
| [2] ExpN: Quantidade de colunas
| [3] ExpN: Largura da coluna
| Exemplo: oView:SetViewProperty( "ZA1MASTER", "SETLAYOUT", { FF_LAYOUT_HORZ_DESCR_TOP , 5 } )
|
--------------------------------------------------------
|
| ENABLEDGRIDDETAIL
| Tipo de formulário: FormGrid
| Descrição: Divide o box do formGrid, criando abaixo do mesmo
| um formulário do tipo formField baseado no grid.
| aParam : Deve ser passado um array com a estrutura abaixo,
| se o array não for passado o percentual padrão é 50%:
| [1] ExpN: Percentual que o detail vai ocupar do box do grid.
| Exemplo: oView:SetViewProperty( 'VIEW_ZA2', "ENABLEDGRIDDETAIL", { 20 } )
|
--------------------------------------------------------
|
| CHANGELINE
| Tipo de formulário: FormGrid
| Descrição: Define um bloco de código que será executado na troca de linha do grid.
| aParam : Deve ser passado um array com a estrutura abaixo:
| [1] ExpB: O bloco recebe como parametro a View e o ID do formulário.
| Exemplo: oView:SetViewProperty( 'VIEW_ZA2', "CHANGELINE", {{ |oView, cViewID| ChangeLine(oView, cViewID) }} )
|
--------------------------------------------------------
|
| SETCOLUMNSEPARATOR
| Tipo de formulário: FormField
| Descrição: Define a distancia entre as colunas.
| aParam : Deve ser passado um array com a estrutura abaixo:
| [1] ExpN: Tamanho da distancia, em pixel
| Exemplo: oView:SetViewProperty("ZA1MASTER", "SETCOLUMNSEPARATOR", {40})
|
--------------------------------------------------------
|
| ONLYVIEW
| Tipo de formulário: FormGrid e FormField
| Aceita o uso de * no ID.
| Descrição: Define que os campos do formulário não permitem edição de dados, são somente para visualização.
| aParam : Não possui, não precisa ser passado.
| Exemplo: oView:SetViewProperty("ZA1MASTER", "ONLYVIEW")
|
--------------------------------------------------------
|
| DISABLELOOKUP
| Tipo de formulário: FormGrid e FormField
| Aceita o uso de * no ID.
| Descrição: Define que a consulta padrão dos campos do formulário será desabilitada.
| aParam : Não possui, não precisa ser passado.
| Exemplo: oView:SetViewProperty("ZA1MASTER", "DISABLELOOKUP")
|
--------------------------------------------------------
|
| ENABLENEWGRID
| Tipo de formulário: FormGrid
| Aceita o uso de * no ID.
| Descrição: Define que o grid deve usar como interface visual o browse (FWBrowse)
| aParam : Não possui, não precisa ser passado.
| Exemplo: oView:SetViewProperty("VIEW_ZA2", "ENABLENEWGRID")
|
--------------------------------------------------------
|
| SIZEMEMO
| Tipo de formulário: FormField
| Descrição: Define um novo tamanho para um campo MEMO
| aParam : Deve ser passado um array com a estrutura abaixo:
| [1] ExpN: Nome do Campo
| [2] Array com tamanho da linha e coluna
| [2][1] ExpN: Tamanho da linha
| [2][2] ExpN: Tamanho da coluna
| Exemplo: oView:SetViewProperty("ZA1MASTER", "SIZEMEMO", {SA1_MEMO , {9, 300}})
|
--------------------------------------------------------
|
| GRIDFILTER
| Tipo de formulário: FormGrid habitado com o ENABLENEWGRID
| Aceita o uso de * no ID.
| Descrição: Define se será exibida ou nao a opcao de filtro no grid.
| aParam : Deve ser passado um array com a estrutura abaixo,
| se o array não for passado, o default é exibir
| o filtro no grid:
| [1] ExpL: Se Verdadeiro habilita, Se falso desabilita
| Exemplo: oView:SetViewProperty("VIEW_ZA2", "GRIDFILTER", {.T.})
|
--------------------------------------------------------
|
| GRIDSEEK
| Tipo de formulário: FormGrid habitado com o ENABLENEWGRID
| Aceita o uso de * no ID.
| Descrição: Define se será exibida ou nao a opcao de pesquisa no grid.
| aParam : Deve ser passado um array com a estrutura abaixo,
| se o array não for passado, o default é exibir
| a pesquisa no grid:
| [1] ExpL: Se Verdadeiro habilita, Se falso desabilita
| Exemplo: oView:SetViewProperty("VIEW_ZA2", "GRIDSEEK", {.T.})
|
--------------------------------------------------------
|
| GRIDROWHEIGHT
| Tipo de formulário: FormGrid habitado com o ENABLENEWGRID
| Aceita o uso de * no ID.
| Descrição: Define a altura da linha do grid.
| aParam : Deve ser passado um array com a estrutura abaixo:
| [1] ExpN: Altura da linha
| Exemplo: oView:SetViewProperty("VIEW_ZA2", "GRIDROWHEIGHT", {40})
|
--------------------------------------------------------
|
| GRIDVSCROLL
| Tipo de formulário: FormGrid habitado com o ENABLENEWGRID
| Aceita o uso de * no ID.
| Descrição: Define se será exibida ou nao o scroll vertical do grid
| aParam : Deve ser passado um array com a estrutura abaixo,
| se o array não for passado, o default é exibir
| o scroll no grid:
| [1] ExpL: Se Verdadeiro exibe, Se falso não exibe
| Exemplo: oView:SetViewProperty("VIEW_ZA2", "GRIDVSCROLL", {.F.})
|
--------------------------------------------------------
|
| GRIDCANGOTFOCUS
| Tipo de formulário: FormGrid habitado com o ENABLENEWGRID
| Aceita o uso de * no ID.
| Descrição: Define se grid pode receber foco.
| aParam : Deve ser passado um array com a estrutura abaixo,
| se o array não for passado, o default é permitir
| o foco no grid:
| [1] ExpL: Se Verdadeiro habilita, Se falso desabilita
| Exemplo: oView:SetViewProperty("VIEW_ZA2", "GRIDCANGOTFOCUS", {.F.})
|
--------------------------------------------------------
|
| SETCSS
| Tipo de formulário: FormGrid habitado com o ENABLENEWGRID
| Aceita o uso de * no ID.
| Descrição: Define um CSS para o grid.
| aParam : Deve ser passado um array com a estrutura abaixo:
| [1] ExpC: CSS para o componente
| Exemplo: oView:SetViewProperty("VIEW_ZA2", "SETCSS", {cCSS})
|
--------------------------------------------------------
--------------------------------------------------------
|
| GRIDDOUBLECLICK
| Tipo de formulário: FormGrid habitado com o ENABLENEWGRID
| Aceita o uso de * no ID.
| Descrição: Define uma acao no duplo clique do formulario
| aParam : Deve ser passado um array com a estrutura abaixo,
| se o array não for passado
| [1] ExpB: Bloco de codigo a ser executado da acao
| do clie
| Exemplo: oView:SetViewProperty("VIEW_ZA2", "GRIDDOUBLECLICK", {{|oFormulario,cFieldName,nLineGrid,nLineModel| MyDoubleClick(oFormulario,cFieldName,nLineGrid,nLineModel)}})
| Obs: A funcao vai receber 4 parametros:
| oFormulario - Objeto do Tipo FWFormGrid
| cFieldName - Nome do campo do model
| nLineGrid - Linha do selecionada do Grid, pode não corresponder a do modelo, caso o mesmo
| esteja filtrado
| nLineModel - Linha Correspondente no Model
| A funcao deve retornar .T. para executar a edicao de celular o .F. caso não queira editar
--------------------------------------------------------
|
| SETCSSTITLE
| Tipo de formulário: FormGrid habitado com o ENABLENEWGRID
| Aceita o uso de * no ID.
| Descrição: Define um CSS para o titulo.
| aParam : Deve ser passado um array com a estrutura abaixo:
| [1] ExpC: CSS para o componente
| Exemplo: oView:SetViewProperty("VIEW_ZA2", "SETCSS", {cCSS})
|
--------------------------------------------------------
|
| GRIDNOORDER
| Tipo de formulário: FormGrid habitado com o ENABLENEWGRID
| Aceita o uso de * no ID.
| Descrição: Define se não quer permitir a ordenação do grid
| aParam : Deve ser passado o ID da propriedade no 2º parametro da SetViewProperty
| Exemplo: oView:SetViewProperty( "*", "GRIDNOORDER")
|
--------------------------------------------------------
SetFieldProperty
Sintaxe
FWFORMVIEW():SetFieldProperty(<cViewID >, <cFieldID >, <cAction >, <aparam >)-> NIL
Descrição
Seta uma propriedade especifica em um campo do formulário, em tempo de execução.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cViewID | Caracteres | ID do formulário. | X | ||
cFieldID | Caracteres | ID do campo a se alterar. | X | ||
cAction | Caracteres | ID da propriedade. Verifique as observações para maiores detalhes. | X | ||
aparam | Array | com os parametros a serem passado para a propriedade. Verifique as observações para detalhes sobre os parametros em cada item. | X |
Observações
Lista de propriedades disponíveis:
--------------------------------------------------------
|
| COMBOVALUES
| Descrição: Altera as opções de combo do campo.
| aParam : Deve ser passado um array unidimensional com os novos valores.
| Exemplo: oView:SetFieldProperty("ZA1MASTER","BUTTON_0","COMBOVALUES",{aValues})
|
--------------------------------------------------------
SetOnlyView
Sintaxe
FWFORMVIEW():SetOnlyView(<cIDView >)-> NIL
Descrição
Define que o formulário e o submodelo não podem ter alteração nos campos.
Esse método difere do setviewproperty "ONLYVIEW", pois o setviewproperty
realiza a alteração apenas no formulário, deixando o submodelo ainda editavel.
Esse método difere do setviewproperty "ONLYVIEW", pois o setviewproperty
realiza a alteração apenas no formulário, deixando o submodelo ainda editavel.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIDView | Caracteres | ID do formulário | X |
LineShift
Sintaxe
FWFORMVIEW():LineShift(<cIDView >, [ nLineFrom ], [ nLineTo ])-> NIL
Descrição
Realiza uma troca de dados entre duas linhas. Os dados da linha origem
serão movidos para a linha destino e os dados da linha destino serão
movidos para a linha origem.
Se a linha atualmente posicionada é a origem ou o destino, o número
da linha posicionada irá ser mudado para o numero da origem ou do
destino, porque os dados são trocados porém a linha ainda precisa
ser validada.
O método somente pode ser usado para formulários do tipo grid.
serão movidos para a linha destino e os dados da linha destino serão
movidos para a linha origem.
Se a linha atualmente posicionada é a origem ou o destino, o número
da linha posicionada irá ser mudado para o numero da origem ou do
destino, porque os dados são trocados porém a linha ainda precisa
ser validada.
O método somente pode ser usado para formulários do tipo grid.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIDView | Caracteres | ID do formulário do grid. | X | ||
nLineFrom | Numérico | Numero da linha de origem | ::GETLINE(CIDVIEW) | ||
nLineTo | Numérico | Numero da linha de destino | ::GETLINE(CIDVIEW) |
IsActive
Sintaxe
FWFORMVIEW():IsActive()-> lActivate
Descrição
Retorna se o view esta ativo.
Retorno
lActivate Se verdadeiro está ativo.
GetBrowseOpc
Sintaxe
FWFORMVIEW():GetBrowseOpc()-> nOpc
Descrição
Retorna a opcao selecionada via Browse
Retorno
nOpc Numero da opção
SetViewAction
Sintaxe
FWFORMVIEW():SetViewAction(<cActionlID >, <bAction >)-> NIL
Descrição
Define uma acao a ser executada em determinados pontos da View.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cActionlID | Caracteres | ID do ponto a acao sera executada que podem ser REFRESH - Executa a ação no Refresh da View BUTTONOK - Executa a ação no acionamento do botão confirmar da View BUTTONCANCEL - Executa a ação no acionamento do botão cancelar da View DELETELINE - Executa a ação na deleção da linha da grid UNDELETELINE - Executa a ação na restauração da linha da grid | X | ||
bAction | Bloco de Código | Bloco com a acao a ser executada. Recebe como parametro: REFRESH - Recebe como parameto o objeto de View BUTTONOK - Recebe como parameto o objeto de View BUTTONCANCEL - Recebe como parameto o objeto de View DELETELINE - Recebe como parameto o objeto de View, Id do Submodelo e Numero da linha UNDELETELINE - Recebe como parameto o objeto de View, Id do Submodelo e Numero da linha | X |
Exemplo
oView:SetViewAction( 'BUTTONOK' , { |oView| SuaFuncao( oView ) } )
oView:SetViewAction( 'BUTTONCANCEL', { |oView| OutraFuncao( oView ) } )
oView:SetViewAction( 'DELETELINE', { |oView,cIdView,nNumLine| OutraFuncao( oView,cIdView,nNumLine ) } )
SetFieldAction
Sintaxe
FWFORMVIEW():SetFieldAction(<cIDField >, <bAction >)-> NIL
Descrição
Define uma acao a ser executada apos a validacao do campo.
Como o formulário não é passado, se existir mais de um formulário com o mesmo
campo, o campo verificado será o primeiro que for encontrado.
Como o formulário não é passado, se existir mais de um formulário com o mesmo
campo, o campo verificado será o primeiro que for encontrado.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIDField | Caracteres | ID campo, pode ser um campo de qualquer formulário da view. | X | ||
bAction | Bloco de Código | Bloco com a acao a ser executada. Recebe como parametro o objeto de View, o ID do formulário, o ID do campo e o conteudo do campo. | X |
Exemplo
oView:SetFieldAction( 'A1_COD', { |oView, cIDView, cField, xValue| SuaFuncao( oView, cIDView, cField, xValue ) } )
HasField
Sintaxe
FWFORMVIEW():HasField(<cIDView >, <cIdField >)-> Se
Descrição
Informa de um determinado campo existe na estrutura de dados de um formulário.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIDView | Caracteres | Id do formulário | X | ||
cIdField | Caracteres | Id do campo | X |
Retorno
Se verdadeiro, o campo existe na estrutura de dados.
Exemplo
If oView:HasField( "VIEW_SA1", "A1_COD" )
...
EndIf
GetCurrentSelect
Sintaxe
FWFORMVIEW():GetCurrentSelect()-> Array
Descrição
Obtem o ID do último campo que obteve foco na view.
Retorno
Array com a estrutura abaixo:
[1] ExpC: ID do formulário
[2] ExpC: ID do campo
[1] ExpC: ID do formulário
[2] ExpC: ID do campo
ShowHelpInView
Sintaxe
FWFORMVIEW():ShowHelpInView()-> NIL
Descrição
Uso interno.
GetFolderActive
Sintaxe
FWFORMVIEW():GetFolderActive(<cID >, <nType >)-> aInfo
Descrição
Obtem o Número e o Título da aba selecionada em uma Pasta.
No View existem dois tipos de pastas, as pastas criadas no view através
do método createFolder e as pastas provenientes da estrutura de dados que
existem dentro de um formulário do tipo FormField.
O método analisa os dois tipos de pastas, de acordo com o valor informado
no segundo parametro.
No View existem dois tipos de pastas, as pastas criadas no view através
do método createFolder e as pastas provenientes da estrutura de dados que
existem dentro de um formulário do tipo FormField.
O método analisa os dois tipos de pastas, de acordo com o valor informado
no segundo parametro.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cID | Caracteres | ID do formulário do tipo FormField ou ID da Folder | X | ||
nType | Numérico | Tipo de Folder [ 1 - Estrutura de Dados(FormField) | 2 - View(Método CreateFolder) ] | X |
Retorno
aInfo Array com a estrutura abaixo:
[1] ExpN: Número da aba
[2] ExpC: Título da aba
[1] ExpN: Número da aba
[2] ExpC: Título da aba
Exemplo
Static Function ModelDef()
Local oModel
Local oStr1:= FWFormStruct(1,'SA1')
oModel := MPFormModel():New('MODEL')
oModel:SetDescription('teste')
oModel:addFields('FIELD1',,oStr1)
Return oModel
Static Function ViewDef()
Local oView
Local oModel := ModelDef()
Local oStr1:= FWFormStruct(2, 'SA1')
oView := FWFormView():New()
oView:SetModel(oModel)
oView:AddField('FORM1' , oStr1,'FIELD1' )
oView:AddOtherObject('FORM8',{|| },{|| })
oView:AddOtherObject('FORM10',{|| },{|| })
oView:CreateHorizontalBox( 'BOXFORM1', 50)
oView:CreateHorizontalBox( 'BOX3', 50)
oView:CreateFolder( 'FOLDER', 'BOX3')
oView:AddSheet('FOLDER','ABA1','Aba 1')
oView:AddSheet('FOLDER','ABA2','Aba 2')
oView:CreateHorizontalBox( 'BOXFORM10', 100, , , 'FOLDER', 'ABA2')
oView:CreateHorizontalBox( 'BOXFORM8', 100, , , 'FOLDER', 'ABA1')
oView:SetOwnerView('FORM1','BOXFORM1')
oView:SetOwnerView('FORM8','BOXFORM8')
oView:SetOwnerView('FORM10','BOXFORM10')
oView:AddUserButton( 'Select Folder Estrutura de Dados', 'TESTE FOLDER', {|oView| Folder1(oView) } )
oView:AddUserButton( 'Select Folder View' , 'TESTE FOLDER', {|oView| Folder2(oView) } )
oView:AddUserButton( 'Get Folders Active', 'TESTE FOLDER', {|oView| Folder3(oView) } )
Return oView
Static Function Folder1(oView)
oView:SelectFolder("FORM1",4,1)
Return
Static Function Folder2(oView)
oView:SelectFolder("FOLDER","Aba 1",2)
Return
Static Function Folder3(oView)
Local aInfo
aInfo := oView:GetFolderActive("FORM1", 1)
Alert( "FORM1 - Aba Ativa: " + aInfo[2] )
aInfo := oView:GetFolderActive("FOLDER", 2)
Alert( "FOLDER - Aba Ativa: " + aInfo[2] )
Return
Veja também
SelectFolder
SelectFolder
Sintaxe
FWFORMVIEW():SelectFolder(<cID >, <xFolder >, <nType >)-> NIL
Descrição
Seleciona e exibe a aba de uma pasta. Pode ser usado tanto para as
pastas provientes da estrutura de dados que existem dentro de um
formulário do tipo FormField quanto para as pastas criadas no view
através do método CreateFolder.
pastas provientes da estrutura de dados que existem dentro de um
formulário do tipo FormField quanto para as pastas criadas no view
através do método CreateFolder.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cID | Caracteres | ID do formulário do tipo FormField ou ID da Folder | X | ||
xFolder | Qualquer | Número da Aba ou Título dela | X | ||
nType | Numérico | Tipo de Folder [ 1 - Estrutura de Dados(FormField) | 2 - View(Método CreateFolder) ] | X |
Exemplo
Static Function ModelDef()
Local oModel
Local oStr1:= FWFormStruct(1,'SA1')
oModel := MPFormModel():New('MODEL')
oModel:SetDescription('teste')
oModel:addFields('FIELD1',,oStr1)
Return oModel
Static Function ViewDef()
Local oView
Local oModel := ModelDef()
Local oStr1:= FWFormStruct(2, 'SA1')
oView := FWFormView():New()
oView:SetModel(oModel)
oView:AddField('FORM1' , oStr1,'FIELD1' )
oView:AddOtherObject('FORM8',{|| },{|| })
oView:AddOtherObject('FORM10',{|| },{|| })
oView:CreateHorizontalBox( 'BOXFORM1', 50)
oView:CreateHorizontalBox( 'BOX3', 50)
oView:CreateFolder( 'FOLDER', 'BOX3')
oView:AddSheet('FOLDER','ABA1','Aba 1')
oView:AddSheet('FOLDER','ABA2','Aba 2')
oView:CreateHorizontalBox( 'BOXFORM10', 100, , , 'FOLDER', 'ABA2')
oView:CreateHorizontalBox( 'BOXFORM8', 100, , , 'FOLDER', 'ABA1')
oView:SetOwnerView('FORM1','BOXFORM1')
oView:SetOwnerView('FORM8','BOXFORM8')
oView:SetOwnerView('FORM10','BOXFORM10')
oView:AddUserButton( 'Select Folder Estrutura de Dados', 'TESTE FOLDER', {|oView| Folder1(oView) } )
oView:AddUserButton( 'Select Folder View' , 'TESTE FOLDER', {|oView| Folder2(oView) } )
oView:AddUserButton( 'Get Folders Active', 'TESTE FOLDER', {|oView| Folder3(oView) } )
Return oView
Static Function Folder1(oView)
oView:SelectFolder("FORM1",4,1)
Return
Static Function Folder2(oView)
oView:SelectFolder("FOLDER","Aba 1",2)
Return
Static Function Folder3(oView)
Local aInfo
aInfo := oView:GetFolderActive("FORM1", 1)
Alert( "FORM1 - Aba Ativa: " + aInfo[2] )
aInfo := oView:GetFolderActive("FOLDER", 2)
Alert( "FOLDER - Aba Ativa: " + aInfo[2] )
Return
Veja também
GetFolderActive
HideFolder
Sintaxe
FWFORMVIEW():HideFolder(<cID >, <xFolder >, <nType >)-> NIL
Descrição
Oculta uma aba de uma pasta. Pode ser usado tanto para as
pastas provientes da estrutura de dados que existem dentro de um
formulário do tipo FormField quanto para as pastas criadas no view
através do método CreateFolder.
pastas provientes da estrutura de dados que existem dentro de um
formulário do tipo FormField quanto para as pastas criadas no view
através do método CreateFolder.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cID | Caracteres | ID do formulário do tipo FormField ou ID da Folder | X | ||
xFolder | Qualquer | Número da Aba ou Título dela | X | ||
nType | Numérico | Tipo de Folder [ 1 - Estrutura de Dados(FormField) | 2 - View(Método CreateFolder) ] | X |
Exemplo
Static Function ModelDef()
Local oModel
Local oStr1:= FWFormStruct(1,'SA1')
oModel := MPFormModel():New('MODEL')
oModel:SetDescription('teste')
oModel:addFields('FIELD1',,oStr1)
Return oModel
Static Function ViewDef()
Local oView
Local oModel := ModelDef()
Local oStr1:= FWFormStruct(2, 'SA1')
oView := FWFormView():New()
oView:SetModel(oModel)
oView:AddField('FORM1' , oStr1,'FIELD1' )
oView:AddOtherObject('FORM8',{|| },{|| })
oView:AddOtherObject('FORM10',{|| },{|| })
oView:CreateHorizontalBox( 'BOXFORM1', 50)
oView:CreateHorizontalBox( 'BOX3', 50)
oView:CreateFolder( 'FOLDER', 'BOX3')
oView:AddSheet('FOLDER','ABA1','Aba 1')
oView:AddSheet('FOLDER','ABA2','Aba 2')
oView:CreateHorizontalBox( 'BOXFORM10', 100, , , 'FOLDER', 'ABA2')
oView:CreateHorizontalBox( 'BOXFORM8', 100, , , 'FOLDER', 'ABA1')
oView:SetOwnerView('FORM1','BOXFORM1')
oView:SetOwnerView('FORM8','BOXFORM8')
oView:SetOwnerView('FORM10','BOXFORM10')
oView:AddUserButton( 'Hide Folder', 'TESTE FOLDER', {|oView| HideFolder(oView) } )
Return oView
Static Function HideFolder(oView)
oView:HideFolder("FOLDER","Aba 1",2)
oView:HideFolder("FORM1",1,1)
Return
DisableGoBackFolders
Sintaxe
FWFORMVIEW():DisableGoBackFolders()-> NIL
Descrição
Desabilita o retorno dos folders do view para a primeira aba após
a inclusão de registros.
a inclusão de registros.
SetProgressBar
Sintaxe
FWFORMVIEW():SetProgressBar(<lValue >)-> NIL
Descrição
Ativa ou desativa o uso da MsgRun na carga do formulario,
utilizar em rotina onde a carga pode demorar muito.
utilizar em rotina onde a carga pode demorar muito.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
lValue | Lógico | Se verdadeiro, habilita o uso. | X |
GetProgressBar
Sintaxe
FWFORMVIEW():GetProgressBar()-> lValue
Descrição
Informa se o view está configurado para usar a MsgRun na carga
dos dados dos formulário.s
dos dados dos formulário.s
Retorno
lValue Se verdadeiro, o uso está habilitado.
SetTimer
Sintaxe
FWFORMVIEW():SetTimer(<nInterval >, <bAction >)-> NIL
Descrição
Define um timer para a janela do view.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
nInterval | Numérico | Indica o intervalo, em milissegundos , para disparar o bloco de código do Timer. | X | ||
bAction | Bloco de Código | Indica o bloco de código que será executado a cada intervalo definido. | X |
GetXMLLayout
Sintaxe
FWFORMVIEW():GetXMLLayout([ lHtm ], <lEmbeded >, [ lDocType ], [ cInitJs ], [ cDirCss ], [ cDirJs ], [ lImgEmbedded ], [ lLoad ], [ lLookUp ])-> aRet
Descrição
Retorna uma string no formato XSLT com base nas caracteristicas da view.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
lHtm | Lógico | Indica se o layout deve ser gerado como HTML | .F. | ||
lEmbeded | Lógico | Indica se o javascript e css serao embutidos no layout | X | ||
lDocType | Lógico | Indica se gera o HTML com a tag DOCTYPE (enviar falso para o ECM) | .T. | ||
cInitJs | Caracteres | Javascript que deve ser executado no load do HTML | "" | ||
cDirCss | Caracteres | Indica o diretorio do css para inserir no HTML | "" | ||
cDirJs | Caracteres | Indica o diretorio do javascript para inserir no HTML | "" | ||
lImgEmbedded | Lógico | Indica se as imagens do css serao embutidos | .T. | ||
lLoad | Lógico | Indica se cria os inputs com os valores do model | .F. | ||
lLookUp | Lógico | Indica se cria opção de lookup | .F. |
Retorno
aRet Array com o(s) arquivo(s) do layout (html, js e css dependendo dos parametros)
GetModelsIds
Sintaxe
FWFORMVIEW():GetModelsIds()-> aRetorno
Descrição
Retorna a lista de submodelos relacionados no view.
Retorno
aRetorno Array unidimensional com os IDs dos submodelos.
Destroy
Sintaxe
FWFORMVIEW():Destroy()-> NIL
Descrição
Remove todas referencias circulares dos objtos criados na view.
O método somente pode ser chamado depois do deactivate.
Só é necessário o uso desse método se o view foi instanciado na mão,
se o view é usado com FWExecView ou então com o Browse o método destroy
é chamado internamente.
O método somente pode ser chamado depois do deactivate.
Só é necessário o uso desse método se o view foi instanciado na mão,
se o view é usado com FWExecView ou então com o Browse o método destroy
é chamado internamente.
SetVldFolder
Sintaxe
FWFORMVIEW():SetVldFolder(<bVldFolder >)-> NIL
Descrição
Executa ação quando uma aba é selecionada em qualquer folder da View
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
bVldFolder | Bloco de Código | Bloco a ser executado quando uma aba é selecionada, deve retornar um booleano. Caso o bloco retorne falso, não será alterada a aba que está selecionada. O bloco irá receber 3 parâmetros: cFolderID : ID do folder(quando for criado pelo desenvolvedor através do método AddFolder) ou ID formulário do tipo Formfield(quando a pasta for proveniente da estrutura de dados) nOldSheet : Sheet que estava selecionada nSelSheet : Sheet que o usuário clicou | X |
Exemplo
Static Function ModelDef()
Local oModel
Local oStr1:= FWFormStruct(1,'SA1')
oModel := MPFormModel():New('MODEL')
oModel:SetDescription('teste')
oModel:addFields('FIELD1',,oStr1)
Return oModel
Static Function ViewDef()
Local oView
Local oModel := ModelDef()
Local oStr1:= FWFormStruct(2, 'SA1')
oView := FWFormView():New()
oView:SetModel(oModel)
oView:AddField('FORM1' , oStr1,'FIELD1' )
oView:AddOtherObject('FORM8',{|| },{|| })
oView:AddOtherObject('FORM10',{|| },{|| })
oView:CreateHorizontalBox( 'BOXFORM1', 50)
oView:CreateHorizontalBox( 'BOX3', 50)
oView:CreateFolder( 'FOLDER', 'BOX3')
oView:AddSheet('FOLDER','ABA1','Aba 1')
oView:AddSheet('FOLDER','ABA2','Aba 2')
oView:CreateHorizontalBox( 'BOXFORM10', 100, , , 'FOLDER', 'ABA2')
oView:CreateHorizontalBox( 'BOXFORM8', 100, , , 'FOLDER', 'ABA1')
oView:SetOwnerView('FORM1','BOXFORM1')
oView:SetOwnerView('FORM8','BOXFORM8')
oView:SetOwnerView('FORM10','BOXFORM10')
oView:SetVldFolder({|cFolderID, nOldSheet, nSelSheet| VldFolder(cFolderID, nOldSheet, nSelSheet)})
Return oView
Static Function VldFolder(cFolderID, nOldSheet, nSelSheet)
Local lRet := .T.
If nOldSheet == 1 .And. nSelSheet == 2
Help( ,, 'Help',, 'Não é permitido selecionar a aba 2 se você estiver na aba 1.', 1, 0 )
lRet := .F.
EndIf
Return lRet
SetContinuousForm
Sintaxe
FWFORMVIEW():SetContinuousForm([ lContinuous ])-> NIL
Descrição
Indica que os formulários da view devem ser continuos. Em um formulário continuo
o scroll é geral e não especifico em cada formulário, simulando o
comportamento de uma página.
o scroll é geral e não especifico em cada formulário, simulando o
comportamento de uma página.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
lContinuous | Lógico | Se verdadeiro, a view é continua. | .T. |
setUpdateMessage
Sintaxe
FWFORMVIEW():setUpdateMessage(<cTitle >, <cDesc >)-> NIL
Descrição
Define uma mensagem a ser mostrada para o usuário quando uma operação
de atualização for concluida. Pode-se usar #nomeDoCampo caso seja
necessario mostrar na mensagem alguma informação do registro que foi
atualizado.
de atualização for concluida. Pode-se usar #nomeDoCampo caso seja
necessario mostrar na mensagem alguma informação do registro que foi
atualizado.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cTitle | Caracteres | Título da mensagem | X | ||
cDesc | Caracteres | Descricao da mensagem | X |
setInsertMessage
Sintaxe
FWFORMVIEW():setInsertMessage(<cTitle >, <cDesc >)-> NIL
Descrição
Define uma mensagem a ser mostrada para o usuário quando uma operação
de inclusão for concluida. Pode-se usar #nomeDoCampo caso seja
necessario mostrar na mensagem alguma informação do registro que foi
incluido.
de inclusão for concluida. Pode-se usar #nomeDoCampo caso seja
necessario mostrar na mensagem alguma informação do registro que foi
incluido.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cTitle | Caracteres | Título da mensagem | X | ||
cDesc | Caracteres | Descricao da mensagem | X |
setDeleteMessage
Sintaxe
FWFORMVIEW():setDeleteMessage(<cTitle >, <cDesc >)-> NIL
Descrição
Define uma mensagem a ser mostrada para o usuário quando uma operação
de exclusão for acionada. Pode-se usar #nomeDoCampo caso seja
necessario mostrar na mensagem alguma informação do registro.
de exclusão for acionada. Pode-se usar #nomeDoCampo caso seja
necessario mostrar na mensagem alguma informação do registro.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cTitle | Caracteres | Título da mensagem | X | ||
cDesc | Caracteres | Descricao da mensagem | X |
showUpdateMsg
Sintaxe
FWFORMVIEW():showUpdateMsg(<lUpdateMsg >)-> NIL
Descrição
Desativa mensagem de Update
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
lUpdateMsg | Lógico | Variavel que define se a mensagem será exibida (.T.) ou não (.F.) | X |
showInsertMsg
Sintaxe
FWFORMVIEW():showInsertMsg(<lInsertMsg >)-> NIL
Descrição
Desativa mensagem de Inserção
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
lInsertMsg | Lógico | Variavel que define se a mensagem será exibida (.T.) ou não (.F.) | X |
getSubMldId
Sintaxe
FWFORMVIEW():getSubMldId(<cIdView >)-> NIL
Descrição
Retorna o ID do SubModel
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIdView | Caracteres | ID da View | X |
SetFldHidden
Sintaxe
FWFORMVIEW():SetFldHidden(<cField >)-> NIL
Descrição
Informa que o campo deverá ser type="hidden" na geração da versão HTML
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cField | Caracteres | Campo do struct | X |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas