Pessoal, ao utilizar a classe MSNewGetDados, podemos definir ela para que não seja editável pelo usuário, porém podemos manipular ela via programação alterando o aCols. Gostaria de saber como seria possível fazer isso utilizando uma grid no MVC, sendo que ao definir no model que a grid é SetOnlyView() ou utilizando SetNo(Insert|Update|Delete)Line() e tentar alterar alguma linha o sistema gera error.log dizendo que a grid não permite alteração. Tentei utilizar uma forma de remover essas atribuições, alterar e atribuir novamente, porém não funcionou.
Anderson, bom dia.
Se eu entendi o que você precisa, fiz algo parecido. Criei um Grid com SetOnlyView e crie um F4 para alimentar ele.
Na função chamada pelo F4 no inicio dela coloquei o oModel:GetModel( 'SZEDETAIL' ):SetNoInsertLine(.F.) e no final oModel:GetModel( 'SZEDETAIL' ):SetNoInsertLine(.T.).
Funcionou corretamente.
Abraço,
Felipe, consegui de uma forma diferente. Deixei a grid com a opção SetOnlyView(.T.)
porém utilizei AddLine(.T.)
para adicionar linhas a força e para excluir a força utilizei o segundo parâmetro da DeleteLine, assim DeleteLine(,.T.)
. Funcionou perfeitamente.
Que bom Anderson.
Parabens pela solução.
Abraço,
Boa noite. Não utilize o segundo parâmetro do método DeleteLine. Ele é interno (e consequentemente não documentado). Ele atende a uma necessidade específica do sistema e pode trazer problemas a sua customização (e parâmetros internos podem sofrer modificação e fazer com que seu fonte pare de funcionar)