Masquer quelques champs dans EditForm.Asx de la bibliothèque d'images
-
10-12-2019 - |
Question
J'ai une bibliothèque d'images et j'ai ajouté quelques champs.Lorsque je clique sur Ajouter un nouvel élément à partir de la bibliothèque d'images, l'EditForm.aspx apparaît après avoir téléchargé l'image.Ce formulaire contient de nombreux domaines dont je souhaite masquer le titre, la date de la date de la date, des descriptions et des mots clés.En bref, l'édition doit contenir uniquement le nom, l'aperçu et les colonnes que j'ai ajoutées.Est-il possible de cacher les autres colonnes?
La solution
La manière la plus simple est probablement d'accéder aux paramètres de liste -> Paramètres avancés et activez Autoriser la gestion des types de contenu.Vous pourrez ensuite sélectionner le type de contenu (image) dans les paramètres de liste.De là, vous verrez les colonnes incluses dans ce type de contenu.Cliquez sur une colonne et vous pouvez alors le faire cacher afin que cela n'apparaisse pas maintenant sur vos formulaires.
Autres conseils
Oui c'est.Vous pouvez écrire un code personnalisé dans une fonctionnalité Reciever ou vous pouvez exécuter un script PowerShell:
function ShowHideFieldInForms([string]$fieldId,
[Microsoft.SharePoint.SPContentType]$ct,
[Microsoft.SharePoint.SPList]$list,
[System.Boolean]$showInEdit, [System.Boolean]$showInDisplay){
$fieldGuid = GetGuid -id $fieldId
$field = $list.Fields[$fieldGuid]
$field.ShowInEditForm = $showInEdit
$ctFieldLink = $ct.FieldLinks | Where { $_.Id -eq $field.Id }
if ($ctFieldLink -ne $null){
$ctFieldLink.ShowInDisplayForm = $showInDisplay
$ct.Update()
}
Write-Host "The Field :" $field.Title " ShowInEditForm property is "$showInEdit "on the list :" $list.Title
}
Pour utiliser, Créez une chaîne de champs de champs:
$fieldsForEditFormHiding = @("436a0ca5-ff06-4428-a2fe-b872ee88c75f", # some field you want to hide.
"5eb4a88e-bfa4-4746-8999-bfdd544a3ef4") # another field you want to hide
foreach ($fieldId in $fieldsForEditFormHiding)
{
$ct = $list.ContentTypes["YOUR CONTENT TYPE NAME"]
ShowHideFieldInForms -list $list -ct $ct -fieldId $fieldId -showInEdit $false -showInDisplay $true
}