Classe: FWFormGridModel


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ãoP10 R1.4


Descrição
Fornece um objeto com o submodelo de edição FormGrid.
Um submodelo do tipo Grid permite manipular diversos registros por
vez. Ele tem um relacionamento do tipo Nx1 ou NxM com outros submodelos.


ClassName

Sintaxe
FWFORMGRIDMODEL():ClassName()-> NIL

Descrição
Fornece o nome da classe

SetLPost

Sintaxe
FWFORMGRIDMODEL():SetLPost(<bLinePost >)-> NIL

Descrição
Configura o bloco de código de pós validação da linha do grid.
A Pós-validação será realizada na validação do submodelo no momento da
gravação dos dados e durante a inclusão de uma nova linha.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
bLinePostBloco de CódigoBloco de código de pós validação da linha
X


 
SetLPre

Sintaxe
FWFORMGRIDMODEL():SetLPre(<bLinePre >)-> NIL

Descrição
Configura o bloco código de pré validação da linha do grid.
O bloco será invocado durante qualquer tentativa de atribuição
de valor na linha.
O Bloco deve retornar um valor lógico, caso retorne falso
a atribuição de valor não será permitida.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
bLinePreBloco de Códigobloco código de pré validação da linha
X


 
SetUseOldGrid

Sintaxe
FWFORMGRIDMODEL():SetUseOldGrid([ lUseCols ])-> NIL

Descrição
Indica que o submodelo deve trabalhar com aCols/aHeader.
Este método é utilizado para compatibilizar com o Browse antigo do Protheus


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
lUseColsLógicoDefine se ira trabalhar com aCols/aHeader..T.


 
SetStruct

Sintaxe
FWFORMGRIDMODEL():SetStruct(<oFormModelStruct >)-> NIL

Descrição
Configura o objeto com a estrutura de dados


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
oFormModelStructObjetoObjeto com a estrutura de dados.
X


 
GetOldData

Sintaxe
FWFORMGRIDMODEL():GetOldData()-> aData

Descrição
Fornece um objeto com a folha de dados de compatibilidade com o aCols/aHeader.


Retorno
aData Array com a seguinte estrutura:
[1] aHeader
[2] aCols
AddLine

Sintaxe
FWFORMGRIDMODEL():AddLine()-> nLine

Descrição
O grid inicia sempre com uma linha. Esse método AddLine deve ser usado para
adicionar novas linhas.
O método retorna a quantidade total de linhas da grid. Se a grid já possui 2 linhas e
tudo correu bem na adição da linha, o AddLine retornara 3, se ocorreu algum problema
retornará 2, pois a nova linha não foi inserida.
Os motivos para a inserção não ser bem sucedida podem ser algum campo obrigatório não
informado, a pós-validação da linha retornou falso ou o grid atingiu a quantidade
máxima de linhas, por exemplo.
Se a linha for incluida com sucesso o grid posiciona na mesma.


Retorno
nLine Indica a quantidade de linhas do grid

Veja também

Length
UnDeleteLine

Sintaxe
FWFORMGRIDMODEL():UnDeleteLine()-> lDeleted

Descrição
Desfaz a deleção da linha atual no Grid.


Retorno
lDeleted Indica se a deleção foi desfeita com sucesso.
DeleteLine

Sintaxe
FWFORMGRIDMODEL():DeleteLine()-> lDeleted

Descrição
Deleta a linha atual no Grid de forma lógica, marcando a mesma como deletada.
É possível desfazer essa deleção via o método UnDeleteLine.

Retorno
lDeleted Indica se a linha foi deletada com sucesso
IsUpdated

Sintaxe
FWFORMGRIDMODEL():IsUpdated([ nLine ])-> lUpdated

Descrição
Indica se a linha recebeu valores


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
nLineNuméricoIndica a linha a ser verificada::NLINE


 

Retorno
lUpdated Indica se a linha recebeu valores
SetNoInsertLine

Sintaxe
FWFORMGRIDMODEL():SetNoInsertLine([ lSet ])-> NIL

Descrição
Especifica que o grid não pode receber inserção de linha


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
lSetLógicoEspecifica se a inserção deve esta ligada .F. ou desligada .T..T.


 
SetNoUpdateLine

Sintaxe
FWFORMGRIDMODEL():SetNoUpdateLine([ lSet ])-> NIL

Descrição
Especifica que o grid não pode receber alteração nas linhas


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
lSetLógicoEspecifica se a alteração deve esta ligada .F. ou desligada .T..T.


 
SetNoDeleteLine

Sintaxe
FWFORMGRIDMODEL():SetNoDeleteLine([ lSet ])-> NIL

Descrição
Especifica que o grid não pode receber exclusão de linha


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
lSetLógicoEspecifica se a exclusão deve esta ligada .F. ou desligada .T..T.


IsDeleted

Sintaxe
FWFORMGRIDMODEL():IsDeleted([ nLine ])-> lDeleted

Descrição
Fornece se a linha esta deletada


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
nLineNuméricoIndica a linha a ser verificada::NLINE



Retorno
lDeleted Indica se a linha esta deletada
SetLine

Sintaxe
FWFORMGRIDMODEL():SetLine([ nLine ])-> nLine

Descrição
Altera a linha em que o Grid está posicionado, se e somente se, a linha atual estiver valida.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
nLineNuméricoNumero da linha0


 

Retorno
nLine Indica a linha atualmente posicionada
GoLine

Sintaxe
FWFORMGRIDMODEL():GoLine(<nLine >)-> nLine

Descrição
Altera a linha em que o Grid está posicionado, mesmo se a linha atual
estiver invalida


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
nLineNuméricoNumero da linha do grid que será utilizado como DEFAULT
X


 

Retorno
nLine Indica a linha atual

Veja também

SetLine
GetLine

Sintaxe
FWFORMGRIDMODEL():GetLine()-> nLine

Descrição
Fornece a linha do atualmente posicionada no Grid

Retorno
nLine Indica a linha atual
SetValue

Sintaxe
FWFORMGRIDMODEL():SetValue(<cId >, [ xValue ])-> lAtribuido

Descrição
Atribui um valor a folha de dados do submodelo


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
cIdCaracteresCódigo/Nome do atributo da folha de dados
X
xValueQualquerValor a ser atribuído::ADATAMODEL[::NLINE][MODEL_GRID_DATA][MODEL_GRIDLINE_VALUE][NIDFIELD]



Retorno
lAtribuido Indica que o valor foi atribuído

Veja também
CanSetValue
LoadValue

Sintaxe
FWFORMGRIDMODEL():LoadValue(<cId >, [ xValue ])-> lAtribuido

Descrição
Carrega um valor a folha de dados do objeto. Este método somente pode ser utilizado quando há SetValue na pilha de chamadas
de função ( CallStack ). Diferentemente do método SetValue, este método não executa a validação do campo, mas fornece
todas as indicações de que ele foi atualizado. Ele é muito útil quando dentro de uma validação de campo, necessitamos
alterar valores de outros campos, sem que isto implique em validá-los.

Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
cIdCaracteresCódigo/Nome do atributo da folha de dados
X
xValueQualquerValor a ser atribuído




Retorno
lAtribuido Indica que o valor foi atribuído
GetValue

Sintaxe
FWFORMGRIDMODEL():GetValue(<cId >, [ nLine ])-> xRetorno

Descrição
Fornece o valor da folha de dados de um campo do submodelo


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
cIdCaracteresCódigo/Nome do atributo da folha de dados
X
nLineNuméricoNumero da linha::NLINE



Retorno
xRetorno Valor do campo
VldLineData

Sintaxe
FWFORMGRIDMODEL():VldLineData(<lVldOwner >)-> lRetorno

Descrição
Valida a linha atualmente posicionada no grid


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
lVldOwnerLógicoVerifica se será validado o submodelo e seus filhos (.T.) ou se será validado apenas o contexto do submodelo (.F.).T.X



Retorno
lRetorno Indica que a linha atual está valida
VldData

Sintaxe
FWFORMGRIDMODEL():VldData(<lVldOwner >)-> lRetorno

Descrição
Valida a folha de dados do submodelo


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
lVldOwnerLógicoVerifica se será validado o submodelo e seus filhos (.T.) ou se será validado apenas o contexto do submodelo (.F.).T.X


 

Retorno
lRetorno Indica que a folha de dados é valida
CanSetValue

Sintaxe
FWFORMGRIDMODEL():CanSetValue(<cId >)-> lRetorno

Descrição
Verificar se pode-se atribuir um valor a folha de dados do submodelo


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
cIdCaracteresCódigo/Nome do atributo da folha de dados
X



Retorno
lRetorno Indica se o valor foi atribuído
SetLoadFilter

Sintaxe
FWFORMGRIDMODEL():SetLoadFilter([ aLoadFilter ], [ cLoadFilter ])-> NIL

Descrição
Atribui o critério de filtro a ser usado na carga do formulário de dados


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
aLoadFilterArrayEstrutura de filtro
[n] Array
[n][1] ExpC: ID do campo do submodelo de destino
[n][2] ExpC: Valor que o campo deve usar no filtro
[n][3] Operador Relacional (Opcional, default é MVC_LOADFILTER_EQUAL )
MVC_LOADFILTER_EQUAL Igual a
MVC_LOADFILTER_NOT_EQUAL Diferente de
MVC_LOADFILTER_LESS Menor que
MVC_LOADFILTER_LESS_EQUAL Menor que ou Igual a
MVC_LOADFILTER_GREATER Maior que
MVC_LOADFILTER_GREATER_EQUAL Maior que ou Igual a
MVC_LOADFILTER_CONTAINS Contém
MVC_LOADFILTER_NOT_CONTAINS Não Contém
MVC_LOADFILTER_IS_CONTAINED Está Contido Em
MVC_LOADFILTER_IS_NOT_CONTAINED Não Está Contido Em

Para os operadores relacionais MVC_LOADFILTER_IS_CONTAINED e MVC_LOADFILTER_IS_NOT_CONTAINED o 2o elemento de cada array deverá ser uma array em formato caracter
oModel:GetModel( 'ZA2DETAIL' ):SetLoadFilter( { { 'ZA2_AUTOR', "{'000500','000501','000502','000503','000504'}", MVC_LOADFILTER_IS_CONTAINED } } )

[n][4] Operador Logico (Opcional, default MVC_LOADFILTER_AND )
MVC_LOADFILTER_AND "e"
MVC_LOADFILTER_OR "ou"
{}

cLoadFilterCaracteresExpressão de filtro
- Se for informado o parâmetro de expressão de filtro o 1o parâmetro será ignorado
- Deve-se prever no código que a expressão tenha a sintaxe para banco de dados ou não, conforme o caso.

""


 

Exemplo


// Para dado igual a
oModel:GetModel( 'IDGRID' ):SetLoadFilter( { { 'ZA2_AUTOR', "'000500'" } } )

// Para dado igual a um ou outro valor
oModel:GetModel( 'IDGRID' ):SetLoadFilter( { { 'ZA2_AUTOR', "'000500'" }, { 'ZA2_AUTOR', "'000600'",, MVC_LOADFILTER_OR } } )

// Para dado diferente
oModel:GetModel( 'IDGRID' ):SetLoadFilter( { { 'ZA2_AUTOR', "'000500'", MVC_LOADFILTER_NOT_EQUAL } } )

// Para dado maior que valor
oModel:GetModel( 'IDGRID' ):SetLoadFilter( { { 'ZA2_VALOR', "0", MVC_LOADFILTER_GREATER } } )

// Para dado entre um valor e outro
oModel:GetModel( 'IDGRID' ):SetLoadFilter( { { 'ZA2_VALOR', "0", MVC_LOADFILTER_GREATER_EQUAL }, { 'ZA2_VALOR', "100", MVC_LOADFILTER_LESS_EQUAL } } )

// Para dado que contém um valor
oModel:GetModel( 'IDGRID' ):SetLoadFilter( { { 'ZA2_AUTOR', "'0005'", MVC_LOADFILTER_CONTAINS } } )

// Para dado que está contido
oModel:GetModel( 'IDGRID' ):SetLoadFilter( { { 'ZA2_AUTOR', "{'000500','000501'}", MVC_LOADFILTER_IS_CONTAINED } } )

// Usando uma expressão
oModel:GetModel( 'IDGRID' ):SetLoadFilter( , " ( ZA2_AUTOR >= '000500' .AND. ZA2_AUTOR < '000600' ) .OR. ZA2_VALOR > 0 " )

GetLoadFilter

Sintaxe
FWFORMGRIDMODEL():GetLoadFilter()-> aRelation

Descrição
Fornece o critério de filtro na carga do formulário de dados

Retorno
aRelation Estrutura de relacionamento
            [1] cIdField do submodelo de destino
            [2] cIdField ou expressão do submodelo de destino
            [3] Operador
SetUniqueLine

Sintaxe
FWFORMGRIDMODEL():SetUniqueLine(<aUnique >, [ bUnique ])-> NIL

Descrição
Define que determinado(s) campo(s) não pode ser repetido dentro do grid.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
aUniqueArrayArray unidimensional com os IDs dos campos
X
bUniqueBloco de CódigoBloco de código de execução quando há linha duplicada. O bloco deve retornar um valor lógico.



 

Exemplo

oModel:GetModel( 'ZA2DETAIL' ):SetUniqueLine( { "ZA2_AUTOR" , "ZA2_ITEM"} )
SetDelAllLine

Sintaxe
FWFORMGRIDMODEL():SetDelAllLine([ lDelAllLine ])-> NIL

Descrição
Especifica se todas as linha do grid podem ser apagadas.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
lDelAllLineLógicoIndica se todas as linhas podem ser apagadas.F.


DelAllLine

Sintaxe
FWFORMGRIDMODEL():DelAllLine()-> NIL

Descrição
Esse método apaga todas as linhas do grid.

copyDataFromGrid

Sintaxe
FWFORMGRIDMODEL():copyDataFromGrid(<oGrid >)-> NIL

Descrição
Esse método copia as linhas e dados de um grid para o objeto em questão.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
oGridObjetoObjeto do tipo FWFormGridModel que será usado como base para a cópia.
X



Observações
Esse método só pode ser executado se o Grid base possuir a mesma estrutura que o Grid destino.
GetQTDLine

Sintaxe
FWFORMGRIDMODEL():GetQTDLine()-> NIL

Descrição
Retornar a quantidade de linhas do grid.


Obsoleto
Use o método Length
Length

Sintaxe
FWFORMGRIDMODEL():Length([ lOnlyActive ])-> nMax

Descrição
Retorna a quantidade de linhas que o grid possui


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
lOnlyActiveLógicoSe for verdadeiro retorna só a quantidade de linhas ativas (não deletadas).F.



Retorno
nMax Quantidade de linhas
CanInsertLine

Sintaxe
FWFORMGRIDMODEL():CanInsertLine()-> lInsertLine

Descrição
Informa se o grid aceita a inserção de novas linhas


Retorno
lInsertLine Se verdadeiro o grid permite a inclusão de linhas
CanUpdateLine

Sintaxe
FWFORMGRIDMODEL():CanUpdateLine()-> lUpdateLine

Descrição
Informa se o grid aceita edição nas linhas


Retorno
lUpdateLine Se verdadeiro o grid permite a edição de linhas
CanDeleteLine

Sintaxe
FWFORMGRIDMODEL():CanDeleteLine()-> lDeleteLine

Descrição
Informa se o grid aceita que as linhas sejam apagadas


Retorno
lDeleteLine Se verdadeiro o grid permite a exclusão de linhas
SeekLine

Sintaxe
FWFORMGRIDMODEL():SeekLine(<aBusca >, [ lDeleted ], [lLocate] )-> lRetorno

Descrição
Localiza uma linha baseada no conteúdo dos campos informados
como parâmetro. Se houver mais de uma linha com os valores procurados,
o método irá retornar a primeira linha que for encontrada.
Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
aBuscaArrayArray com os dados de busca na seguinte estrutura:
[n]
[n][1] ExpC: Id do campo
[n][2] ExpX: Conteúdo

X
lDeletedLógicoIndica se considera as linhas deletadas na busca.F.

lLocateLógicoIndica se deve posicionar na linha encontrada.T.


 

Retorno
lRetorno Indica se a linha foi encontrada

Exemplo


oGrid:SeekLine({{"XXH_MODULO",cModule},{"XXH_CODIGO",cCode}})
IsFieldUpdated

Sintaxe
FWFORMGRIDMODEL():IsFieldUpdated(<cID >, [ nLine ])-> lRet

Descrição
Retorna se um Campo foi atualizado


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
cIDCaracteresCódigo do Field
X
nLineNuméricoNumero da Linha::NLINE


 

Retorno
lRet Indica que o valor foi Atualizado
SetMaxLine

Sintaxe
FWFORMGRIDMODEL():SetMaxLine(<nMax >)-> NIL

Descrição
Determina quantas linhas o grid pode possuir.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
nMaxNuméricoValor máximo
X



Veja também
GetMaxLines
GetMaxLines

Sintaxe
FWFORMGRIDMODEL():GetMaxLines()-> nMAx

Descrição
Retorna quantas linhas o grid pode possuir


Retorno
nMAx Quantidade máxima de linhas permitidas no grid

Veja também
SetMaxLine
IsLineValidate

Sintaxe
FWFORMGRIDMODEL():IsLineValidate([ nLine ])-> lRet

Descrição
Analisa se uma determinada linha está valida


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
nLineNuméricoLinha a analisar::NLINE


 

Retorno
lRet Se verdadeiro a linha esta valida
ClearField

Sintaxe
FWFORMGRIDMODEL():ClearField(<cId >, [ nLine ], [ lClearTrigger ])-> lAtribuido

Descrição
Limpa o conteúdo de um campo


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
cIdCaracteresCodigo/Nome do atributo da folha de dados
X
nLineNuméricoIndica a linha::NLINE

lClearTriggerLógicoIndica se limpa os campos gatilhados.F.


 

Retorno
lAtribuido Indica se o campo foi limpo
IsEmpty

Sintaxe
FWFORMGRIDMODEL():IsEmpty()-> lRet

Descrição
Verifica se o grid não possui nenhuma linha.


Retorno
lRet Se verdadeiro o submodelo esta em branco.
IsInserted

Sintaxe
FWFORMGRIDMODEL():IsInserted([ nLine ])-> lInserted

Descrição
Verifica se uma linha é nova no grid, ou seja, ela não existia e foi
criada pelo método addLine.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
nLineNuméricoIndica a linha a ser verificada::NLINE


Retorno
lInserted Indica se a linha foi inserida
SetOnlyView

Sintaxe
FWFORMGRIDMODEL():SetOnlyView()-> NIL

Descrição
Define que o submodelo não irá permitir a edição de dados.
Se a operação for inclusão o when dos campos passará a ser falso
e se for qualquer outra operação os campos não permitirão edição.
Além disse não permite inserção e nem exclusão de linhas.

IsModified

Sintaxe
FWFORMGRIDMODEL():IsModified()-> NIL

Descrição
Retorna se o submodelo não foi modificado.

GetDataId

Sintaxe
FWFORMGRIDMODEL():GetDataId([ nLine ])-> nID

Descrição
Fornece o recno do registro de origem dos dados da linha

Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
nLineNuméricoIndica a linha a ser verificada::NLINE



Retorno
nID ID dos dados da Linha
nID ID do registro
InitValue

Sintaxe
FWFORMGRIDMODEL():InitValue(<cIdField >)-> xValue

Descrição
Fornece o valor do inicializador padrão da folha de dados de um campo


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
cIdFieldCaracteresCodigo/Nome do atributo da folha de dados
X


 
Retorno
xValue Valor do inicializador do campo
Compare

Sintaxe
FWFORMGRIDMODEL():Compare(<aCompare >, <oFWFormGridModel >)-> NIL

Descrição
Faz a comparação entre os dados de um objeto do tipo FWFormGridModel passado por referência
com o próprio objeto. Os dois objetos devem possuir a mesma estrutura, pois esse
método compara apenas os dados, supondo que a estrutura seja a mesma.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
aCompareArray- Array que deve ser passado por referencia, para que o método salve as informações de diferenças
no formato:
[n][1] - ExpC: ID do subModelo
[n][2] - ExpC: Tipo (G)
[n][3] - ExpA: SubArray com os campos alterados
[n][3][1] - ExpN: Número da linha no submodelo do Model
[n][3][2] - ExpC: Operação da linha (3 - Inclusão , 4 - Alteração ou 5 - Exclusão )
[n][3][3][1] - ExpC: ID do Campo
[n][3][3][1] - ExpX: Valor do Modelo(self)
[n][3][3][1] - ExpX: Valor do modelo passado no segundo parâmetro

X
oFWFormGridModelObjeto- Outro FWFormGridModel para ser feita a comparação, ele deve possuir exatamente a mesma estrutura.
X


 
LineShift

Sintaxe
FWFORMGRIDMODEL():LineShift([ 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.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
nLineFromNuméricoNumero da linha de origem::NLINE

nLineToNuméricoNumero da linha de destino::NLINE


 

Exemplo

oModel:GetModel("ZA2DETAIL"):LineShift(5,6)
GetLinesChanged

Sintaxe
FWFORMGRIDMODEL():GetLinesChanged([ nType ])-> NIL

Descrição
Retorna um array unidimensional com o numero das linhas que sofreram alguma modificação


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
nTypeNuméricoTipo da informação:
MODEL_GRID_LINECHANGED_ALL Todas as linhas modificadas
MODEL_GRID_LINECHANGED_INSERTED Somente as linhas inseridas
MODEL_GRID_LINECHANGED_UPDATED Somente as linhas alteradas
MODEL_GRID_LINECHANGED_DELETED Somente as linhas excluidas
MODEL_GRID_LINECHANGED_ALL


 
SetLineModify

Sintaxe
FWFORMGRIDMODEL():SetLineModify(<nLine >)-> NIL

Descrição
Define a linha como modificada

Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
nLineNuméricoNumero da Linha
X


LdValueByPos

Sintaxe
FWFORMGRIDMODEL():LdValueByPos(<cId >, [ xValue ])-> lAtribuido

Descrição
Carrega um valor para a folha de dados através de acesso direto a posição
do campo na estrutura. Use esse método somente quando possuir um
grande volume de processamento na rotina.
Para determinar a posição do campo utilize o método GetArrayPos da
estrutura de dados do submodelo (FWFormModelStruct).
O valor será atribuído para a linha que estiver posicionada no grid.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
cIdCaracteresCódigo/Nome do atributo da folha de dados
X
xValueQualquerValor a ser atribuído



 

Retorno
lAtribuido Indica que o valor foi atribuído

Exemplo

aPosFields := oStruZA2:GetArrayPos("ZA2_MUSICA", "ZA2_ITEM")

oModel:GetModel("ZA2DETAIL"):LdValueByPos(aPosFields[1], "00001")
oModel:GetModel("ZA2DETAIL"):LdValueByPos(aPosFields[2], "1")

Veja também

GetValueByPos
GetArrayPos -> FWFormModelStruct
GetValueByPos

Sintaxe
FWFORMGRIDMODEL():GetValueByPos(<nIdPos >, [ nLine ])-> NIL

Descrição
Fornece o valor da folha de dados de um campo, baseado na posição dele
na estrutura, utilize ele somente quando a rotina possui um grande volume
processamento. Para saber a posição do campo use o método GetArrayPos
do objeto de estrutura de dados (FWFormModelStruct).
Atenção!! Esse método não verifica se o campo existe.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
nIdPosNuméricoPosição do campo na estrutura de dados
X
nLineNuméricoLinha do grid onde o valor será atribuído::NLINE


 

Exemplo

aPosFields := oStruZA2:GetArrayPos("ZA2_MUSICA", "ZA2_ITEM")

cMusica := oModel:GetModel("ZA2DETAIL"):GetValueByPos(aPosFields[1], 1)
cItem := oModel:GetModel("ZA2DETAIL"):GetValueByPos(aPosFields[2], 2)

Veja também

GetArrayPos -> FWFormModelStruct
LdValueByPos
SetFldNoCopy

Sintaxe
FWFORMGRIDMODEL():SetFldNoCopy(<aFldNoCopy >)-> NIL

Descrição
Define quais campos do submodelo não serão copiados no processo de cópia
do submodelo.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
aFldNoCopyArrayArray unidimensional com o IDs do campos que não serão copiados
X


 

Exemplo

oModel:GetModel("ZA2DETAIL"):SetFldNoCopy( { 'ZA2_MUSICA', 'ZA2_ITEM' } )
GetFldNoCopy

Sintaxe
FWFORMGRIDMODEL():GetFldNoCopy()-> NIL

Descrição
Retorna quais campos do formulário não serão copiados no processo de cópia

ClearData

Sintaxe
FWFORMGRIDMODEL():ClearData(<lInit>,<lBlankLine>)-> NIL

Descrição

Limpa (apaga da memoria) todo conteúdo do sub-formulário, e de todos os seu filhos.
ATENÇÃO:
Esse método não pode ser utilizado em Modelos que venham de Banco de Dados, no modo de operação ALTERAÇÃO, pois seria gerada inconsistência na base de dados, tendo em vista que este método NÃO APAGA os registros da base.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
lInitLógicoIndica se deve carregar os inicializadores padrão
X
lBlankLineLógicoIndica se deve criar a linha em branco




CanClearData

Sintaxe
FWFORMGRIDMODEL():CanClearData()-> NIL

Descrição
Determina se o ClearData pode ser executado.
Se veio de banco não permite.

isEnable

Sintaxe
FWFORMGRIDMODEL():isEnable()-> lRet

Descrição
Executa o bloco de bPre do modelo, retornando se ele está disponível para edição ou não


Retorno
lRet - Indica se o modelo está disponível
MaxValueField

Sintaxe
FWFORMGRIDMODEL():MaxValueField(<cFieldID >)-> nMax

Descrição
Retorna o valor máximo de um campo do grid, o campo precisa ser numérico

Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
cFieldIDCaracterescFieldID
X



Retorno
nMax Maior valor

ClearData

Sintaxe
FWFORMGRIDMODEL():ClearData( lInit , lBlankLine ) →

Descrição
Limpa(apaga da memória) todo o conteúdo do sub-formulário, e de todos os seu filhos.

ATENÇÃO:
Esse método não pode ser utilizado em Modelos que venham de Banco de Dados, no modo de Operação ALTERAÇÃO, pois seria gerado inconsistência na base de dados, tendo em vista que este método NÃO APAGA os registros da base.


Parâmetros

NomeTipoDescriçãoObrigatório
lInitLógicoIndica se deve carregar os inicializadores padrões
lBlankLine LógicoIndica se deve criar a linha em branco



SetForceLoad

Sintaxe
FWFORMGRIDMODEL():SetForceLoad( lForce ) →

Descrição
Informa que o bloco de carga(load) do subformulário será executado em todas as Operações, inclusive na Inclusão, que não é o padrão.


Parâmetros

NomeTipoDescriçãoObrigatório
lForceLógicoSe .T. irá executar o bLoad em todos
  • Sem rótulos