Alterar Grid MVC via programação

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)