2011-08-23 10 views
10

Ho creato un'istanza SPList con alcuni campi personalizzati. Ma quando visualizzo questo elenco in sharepoint (visualizzazione predefinita), viene visualizzata solo la colonna Titolo. Come posso aggiungere le mie colonne alla visualizzazione predefinita della mia lista appena creata?Aggiungi campo alla visualizzazione predefinita SPList

ho provato:

list.Fields.Add("Foo", SPFieldType.Text, true): 
list.View[0].ViewFields.Add("Foo"); 
list.View[0].Update(); 
list.Update(); 

Ma doesnt lavoro.

risposta

23

Non funziona perché list.view[0] restituisce un nuovo SPView ad ogni chiamata; vedi here. Nel tuo caso chiami update() in una nuova istanza.

Per farlo funzionare, memorizzare la vista in una variabile e aggiungere il campo a quella vista. (Esempio è per visualizzazione predefinita, ma dovrebbe funzionare anche list.View[0])

SPView view = list.DefaultView; 
view.ViewFields.Add("Foo"); 
view.Update(); 
+0

Nessun problema, ho lottato con questo me stesso. – Dribbel

+0

Grazie, ha funzionato per me :) –

+3

Ugh uccidimi ora SharePoint! Modo per rompere totalmente l'idea di proprietà. – Nacht