J'ai une option définie sur mon compte/formulaire de vente. Sur la base de cette valeur, je veux changer la couleur de l'en-tête en haut du formulaire. Je peux le faire manuellement en éditant le CSS via les outils de développement, mais quand j'essaye de le faire via les propriétés de formulaire et les ressources Web, je ne peux pas changer la couleur.Microsoft Dynamics 365 Modifier la couleur d'en-tête sur le formulaire en fonction de la valeur
En tant que test de base, j'essaie juste d'injecter le CSS dans la page via javascript.
Voici la ressource Web CSS que j'ai créée.
.ms-crm-Form-HeaderPosition {
background-color: rgba(2,206,239,1) !important;
}
Voici la ressource web javascript j'ai créé:
function load_css_file(filename){
var fileref = document.createElement("link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
fileref.setAttribute("href", filename)
document.getElementsByTagName("head")[0].appendChild(fileref)
}
function myFormOnLoad(){
load_css_file('/WebResources/aws_ColoredHeaderMGA.css');
}
Je suis ensuite allé à ma forme de vente, changé les propriétés du formulaire pour charger dans ma ressource Web Javascript puis dit pour appeler la fonction myFormOnLoad
comme sur OnLoad
même pour le formulaire.
Je ne reçois aucune erreur, je sais que le javascript est appelé parce que j'ai ajouté un alert
juste pour m'assurer et j'ai reçu l'alerte.
Qu'est-ce qui me manque pour changer la couleur de l'en-tête?
Avez-vous envisagé (ou essayé) [modifier la classe de style lui-même] (https://stackoverflow.com/q/11474430/205233) au lieu d'utiliser jquery? – Filburt
@Filburt Je devrais jouer avec, je ne sais pas comment y parvenir à partir du moteur Dynamics 365. –
Vous devez inclure votre propre ressource web jquery.js puisque MS cache '$' dans les scripts de formulaire - la solution citée peut simplement être exécutée dans votre 'myFormOnLoad()' existant. – Filburt