| ♥ 0 | Bom dia, O seguinte código apenas funciona para remover o botão para adicionar linhas, se utilizar outro ID BiGridArtAdd, BiGridOpenCatalog ou BiGridCopyFromXls, não funciona. Precisava de remover esses botões. O cliente tem a versão Corporate, não dá para ser por javascript.
Cumprimentos, Márcio Seromenho Marked as spam |
| Private answer Bom dia, Os botões BiGridArtAdd, BiGridOpenCatalog e BiGridCopyFromXls não estão disponíveis na GridActionButtons, pelo que não podem ser removidos da mesma forma que o botão BiGridAddLine. Nesse caso, a abordagem passa por remover os elementos no lado do cliente através de JavaScript via evento, por exemplo: mPage.ClientScript.RegisterStartupScript(
GetType(Page),
"RemoveBiGridButtons",
"var idsToRemove = [´BiGridArtAdd´, ´BiGridOpenCatalog´, ´BiGridCopyFromXls´, ´BiGridAddDescricaoLonga´];" &
"var observer = new MutationObserver(function(mutations) {" &
" idsToRemove.forEach(function(id) {" &
" var el = document.getElementById(id);" &
" if (el) el.parentNode.removeChild(el);" &
" });" &
"});" &
"observer.observe(document.body, { childList: true, subtree: true });",
True)
Neste exemplo é utilizado um MutationObserver para verificar alterações ao DOM e remover os botões assim que estes sejam criados pela aplicação. Esta abordagem é necessária porque estes botões não são expostos através da coleção GridActionButtons, ao contrário do botão BiGridAddLine. Tendo em conta que o cliente possui a versão Corporate e não dispõe de JavaScript de utilizador, o código deverá ser aplicado através de um evento ApósOnInit para o ecrã boform. Com os melhores cumprimentos
Esta resposta foi gerada pelo Cegid Pulse, com base na base na informação disponível em histórico.
Marked as spam | |
| Private answer Boa tarde, foi ajustada a resposta do Pulse de maneira a ser possivel ter o comportamento desejado. Marked as spam |