Nascondi pochi campi in EDITFORM.ASX della libreria di immagini
-
10-12-2019 - |
Domanda
Ho una libreria di immagini e ha aggiunto pochi campi.Quando clicco Aggiungi nuovo elemento dalla libreria di immagini, EDITFORM.aspx appare dopo aver caricato l'immagine.Questo modulo contiene molti campi di cui voglio nascondere il titolo, data di data scattata, descrizione e parola chiave.In breve, la forma di modifica deve contenere solo nome, anteprima e colonne che ho aggiunto.È possibile nascondere le altre colonne?
Soluzione
Il modo più semplice è probabilmente per andare alle impostazioni dell'elenco -> Impostazioni avanzate e accensione Consenti la gestione dei tipi di contenuto.Sarai quindi in grado di selezionare il tipo di contenuto (immagine) nelle impostazioni dell'elenco.Da qui vedrai le colonne incluse in quel tipo di contenuto.Clicca su una colonna e puoi quindi renderlo nascosto in modo che ora non appaia sui tuoi moduli.
Altri suggerimenti
Sì, lo è.È possibile scrivere un codice personalizzato in un ricevitore di funzionalità o puoi eseguire uno 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
}
.
Per utilizzarlo Creare una stringa di array di campi:
$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
}
.