Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Comment cacher un champ dans un formulaire Dynamics CRM 4.0

Quelle est la problématique ?

Le Form Object Model de Dynamics CRM 4.0 ne permet pas de cacher dynamiquement un champ dans un formulaire. Du coup, il faut exploiter le DHTML.

Comment faire ?

Avant d’appliquer les propriétés et méthodes du DHTML il faut vous demander quel est le rendu HTML du champ (contrôle) que vous voulez cacher dans le formulaire CRM. Par exemple un attribut de type nvarchar, représenté par une zone de texte dans un formulaire CRM, a pour rendu un élément INPUT de type text dans la page HTML résultante (Notez que rien ne garantit que le choix du rendu d’un attribut de type nvarchar sera maintenu en INPUT dans la prochaine version de CRM…)

image

image

Une fois que vous connaissez le type d’élément HTML, vous pouvez donc appliquer les propriétés et méthodes de l’objet correspondant du DHTML. Pour cacher le champ Prénom du formulaire, vous pourriez donc écrire :

        crmForm.all.firstname.style.display = 'none';

Mais ce code a pour effet de cacher l’élément INPUT uniquement, c’est-à-dire sans le libellé associé, donc vous obtenez :

image

Pour supprimer un champ intégralement du formulaire, vous devez donc aussi repérer la structure de table dans laquelle il est affiché. Par exemple, pour cacher le champ Prénom du formulaire, vous devez cacher les deux balises <td> correspondant au libellé Prénom et à la zone de texte associée. Les deux balises ont pour Identifiant respectif firstname_c et firstname_d. Cela donne le code suivant :

        crmForm.all.firstname_c.style.display = 'none';
        crmForm.all.firstname_d.style.display = 'none';

Pour réafficher le champ, on coderait :

        crmForm.all.firstname_c.style.display = '';
        crmForm.all.firstname_d.style.display = '';

Pour supprimer la ligne entière (contenant le champ Prénom et le champ Téléphone personnel), il ne faut pas hésiter à supprimer la balise <tr> englobant les balises <td>. Celle-ci n’ayant aucun identifiant, on pourrait procéder ainsi :

        crmForm.all.firstname.parentElement.parentElement.style.display = 'none';

S’il s’agit d’un attribut de type ntext (zone de texte de plusieurs lignes) en revanche, le rendu n’est pas un élément INPUT mais un élément textarea.

image

Les propriétés de cet élément HTML n’étant pas les mêmes que pour un élément INPUT, le code pour le cacher est le suivant :

        crmForm.all.description.style.visibility = 'hidden';

Liens utiles : Pour vous aider à trouver le rendu des champs et la structure de la page HTML généré par Dynamic CRM, utilisez l’Internet Explorer Developer Toolbar. Attention celle-ci n’est pas compatible avec IE8 pour lequel vous pouvez utiliser les outils de développement intégrés.

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: jeudi 1 octobre 2009 12:22 par bianca
Classé sous :

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01