Come aggiungere nuovo campo di elenco personalizzato (vedere Modificare!)
-
16-10-2019 - |
Domanda
Sto usando un modello Microsoft per l'aggiunta di formazione e corsi per le persone a registrarsi per. Tutto sta funzionando benissimo, ma voglio aggiungere un campo alla Elenco dei corsi. Voglio aggiungere un campo per indicare che tipo di personale questo corso è per, ad esempio, HR, Salute e Sicurezza, Amministrazione, ecc.
Così ho cercato in tutto per risposte a questa, la documentazione su SharePoint è scioccante, e ho fatto il seguente:
- Impostazioni> Crea Colonna sulla pagina dei corsi.
- inserito tutti i dati necessari
- Il DispForm, EditForm e NewForm (aspx)
@fStaffType, Staff Type;
aggiunto alla sezioneDataFields
. (Staff Type
è il nome del field`) -
In DispForm aggiunta una nuova riga per visualizzare i dati:
<tr> <td width="190px" valign="top" class="ms-formlabel"> <H3 class="ms-standardheader"> <nobr>Staff Type</nobr> </H3> </td> <td width="400px" valign="top" class="ms-formbody"> <xsl:value-of select="@fStaffType"/> </td> </tr>
-
L'EditForm e NewForm aggiunta una nuova riga per modificare / inserire i dati:
<tr> <td width="190px" valign="top" class="ms-formlabel"> <H3 class="ms-standardheader"> <nobr>Staff Type</nobr> </H3> </td> <td width="400px" valign="top" class="ms-formbody"> <SharePoint:FormField runat="server" id="ff12{$Pos}" ControlMode="New" FieldName="fStaffType" __designer:bind="{ddwrt:DataBind('i',concat('ff12',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@fStaffType')}"/> <SharePoint:FieldDescription runat="server" id="ff12description{$Pos}" FieldName="fStaffType" ControlMode="New"/> </td> </tr>
L'EditForm e NewForm ottengo l'errore:
Errore di rendering di controllo - ff12description_1
un'eccezione non gestita si è verificato. Il riferimento non impostato a istanza di un oggetto.
Se io commento la descrizione mostrerà il primo td
(Nome campo), ma il secondo td
è solo vuoto.
Qualsiasi aiuto sarebbe molto apprezzato!
EDIT: Un problema correlato, non so se devo creare una nuova domanda o no. Ma Marc D Anderson ha risposto qui sotto e sono stato in grado di aggiungere e visualizzare un nuovo campo. Tuttavia, posso aggiungere un nuovo corso alla perfezione, ma se modificare uno, e modificare il campo Tipo personale, un nuovo corso verrà creato il giorno e l'ora corrente. Ma se gli altri campi vengono modificati si modifica in modo corretto.
Tutte le idee?
Soluzione
Molti dei "Fabulous 40" modelli stato personalizzato forme. (Probabilmente discutere la parte favolosa del nome, a questo punto.)
Sembra che si sta facendo circa le cose giuste nelle forme, ma è un po 'difficile dire dove sta andando a sud su di voi.
Quando hai creato la nuova colonna, hai dato un nome di "fStaffType"? In caso contrario, questo è il problema. Se si chiamò "Personale Type", quindi il nome interno (o StaticName) per la colonna è "Staff_x0020_Type". (Lo spazio nel nome verrà codificato.) EDIT: È possibile trovare lo StaticName per una colonna andando in Impostazioni elenco e la modifica di quella colonna. Lo StaticName sarà alla fine dell'URL come parametro stringa di query. A seconda di quali personaggi si è utilizzato, può bedouble codificato, come Staff% 5Fx0020% 5FType.
Non c'è bisogno di aggiungere la colonna DisplayName e StaticName alla sezione DiataFields - non serve in realtà uno scopo evidente, francamente. Avrete solo bisogno di fare in modo che il nome della colonna in SharePoint: FormField e SharePoint:. FieldDescription corrisponde al StaticName per il nome della colonna che hai aggiunto
La finale "_1" nell'errore è parte del nome unico che SharePoint dà ogni istanza di quella colonna nella pagina (si potrebbe essere permettendo modifiche a più oggetti nella stessa forma) aggiungendo il valore del $ Pos variabile.
Altri suggerimenti
appare come FF12 è già definita da qualche altra parte nella pagina ed è probabilmente ri-scrittura con _1 alla fine.
- Puoi solo provare trascinare il campo dall'origine dati e lasciare che la figura del progettista fuori i nomi dei campi?
o
- Si può provare ad aggiungere "Modifica modulo personalizzato" in un'altra pagina e poi copiare il FieldDescription?
I può non hanno letto o avuto buona conoscenza delle vostre esigenze. Perché non implementare Content Type? Si potrebbe avere funzionalità per i vostri campi personalizzati (alias colonne) e l'attributo impostato come diplay sul modulo di modifica = true, spettacolo a vista = TRUE (ecc.)