Páginas filhas
  • FWFormGridModel
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 >, < lGetID > , < lInvert > , < lCompare > , < lVirtual > )-> 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 metodo salve as informações de diferencas
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 parametro


Se lGetID == .T.

[n][3][4] - {Id do dado de origem, Id do dado destino(modelo passado via parametro}



X
oFWFormGridModelObjetoOutro FWFormGridModel para ser feita a comparação, ele deve possuir exatamente a mesma estrutura.
X
lGetIDLógicoSe .T. retorna os IDs dos dados das alterações, e considera a troca de Id como um alteração tambem. Caso o modelo não tenha ID de dado ou a linha for nova (no caso de grid), voltara o ID 0


lInvertLógicoSe .T. salva o valor da esquerda na direita, e o da direita na esquerda, padrao. .F.


lCompareLógicoIndica se deve comparar com o outro modelo (definido como falso quando o grid pai for uma linha nova, não devendo comparar com os valores atuais do modelo)


lVirtualLógicoIndica se deve considerar a diferença de campos virtuais sem outras alterações (Caso existam alterações de campos reais, o parâmetro é desconsiderado)




Código Exemplo
/*/{Protheus.doc} fCompare
    Função compare usada para comparar dois objetos e exibe o resultado

    @Type Static Function
    @author FRAMEWORK
    @since 21/11/2024
//-----------------------------------------------------------------*/
Static Function fCompare()
    Local oModel   as object
    Local oGrid1   as object
    Local oGrid2   as object
    Local aCompare as Array

    oModel := FWModelActive()
    oGrid1 := oModel:GetModel("ZC4DETAIL")
    oGrid2 := oModel:GetModel("ZC4DET2")
    aCompare := {}

    aCompare := oGrid1:Compare(aCompare, oGrid2)
    Aviso('retorno', VarInfo('aCompare', aCompare, , .F.), {'ok'}, 4, , , , .T.)

Return 


 

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

nIdField

Numé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
Índice

  • Sem rótulos