Masquer le champ d'une liste SharePoint selon le 'mode' du formulaire (view, edit, new)
-
Masquer le champ d'une liste SharePoint selon le 'mode' du formulaire (view, edit, new)
La récente fonctionnalité native fournie par SharePoint pour masquer certains champs de votre liste SharePoint dans le formulaire associé à la liste ne vous permet pas de différencier le fait que le champ n’est visible que pour l’opération de visualisation, d’édition ou de création :
Décocher un champ ici le masquera sur le formulaire que vous soyez en visu, en modification ou en création sur le formulaire de la liste correspondante.
Il existe pourtant un moyen de décider sur quel état du formulaire le champ est visible ou pas. Il faut pour cela passer par quelques commandes PnP PowerShell.
Installer PnP PowerShell
Ouvrez votre menu Windows et tapez “powershell” pour rechercher l’application Windows PowerShell sur votre PC.
Ouvrez le menu associé à l’application Windows PowerShell et exécutez-la en mode administrateur :
Dans la fenêtre PowerShell tapez d’abord la commande suivante :
Set-ExecutionPolicy -ExecutionPolicy Unrestrictedn
Ensuite, exécutez la commande suivante pour installer le mode PnP PowerShell :
Install-Module -Name PnP.PowerShelln
Fermer la fenêtre Windows PowerShell puis relancez-la en mode normal (pas besoin de la lancer en mode administrateur).
Se connecter au site SharePoint
Dans la fenêtre PowerShell exécutez la commande suivante :
Connect-PnPOnline <url de votre site SharePoint : https://votretenant.sharepoint.com/sites/votresite>n
Saisissez votre compte et mot de passe lorsqu’ils sont demandés.
Ensuite, tapez la commande suivante pour récupérer le contexte de la connexion qui servira plus tard :
$ctx = Get-PnPContextn
Récupérer le champ à modifier
Tapez les commandes suivantes pour charger les caractéristiques du champ que vous voulez masquer :
$field = Get-PnPField -List Lists/<votre liste dans l'url> -Field <nom interne du champ>n$ctx.Load($field)n$ctx.ExecuteQuery()n
Définir sa visibilité selon l’état du formulaire
Pour définir la visibilité du champ dans le formulaire en mode ‘affichage‘ :
$field.SetShowInDisplayForm($true)n$Global:Ctx.ExecuteQuery()n
Remplacer $true par $false si vous voulez le masquer.
Pour définir la visibilité du champ dans le formulaire en mode ‘édition‘ :
$field.SetShowInEditForm($true)n$Global:Ctx.ExecuteQuery()n
Remplacer $true par $false si vous voulez le masquer.
Pour définir la visibilité du champ dans le formulaire en mode ‘création‘ :
$field.SetShowInNewForm($true)n$Global:Ctx.ExecuteQuery()n
Remplacer $true par $false si vous voulez le masquer.
Et voilà… 😉
PostID=y4lBJfsYpvElAVq
Connectez-vous pour répondre.