2011-08-23 17 views
10

मैंने कुछ कस्टम फ़ील्ड के साथ एक एसपीएलिस्ट इंस्टेंस बनाया है। लेकिन जब मैं इस सूची को शेयरपॉइंट (डिफ़ॉल्ट दृश्य) में देख रहा हूं, केवल शीर्षक कॉलम दिखाता है। मैं अपनी नई बनाई गई सूची के डिफ़ॉल्ट दृश्य में अपने कॉलम कैसे जोड़ सकता हूं?एसपीएलिस्ट डिफ़ॉल्ट दृश्य में फ़ील्ड जोड़ें

मैंने कोशिश की:

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

लेकिन does not काम।

उत्तर

23

यह इस तथ्य के कारण काम नहीं करेगा कि list.view[0] प्रत्येक कॉल पर नया SPView देता है; here देखें। आपके मामले में आप एक नए उदाहरण पर update() पर कॉल करें।

इसे काम करने के लिए, दृश्य को एक चर में संग्रहीत करें और उस दृश्य में फ़ील्ड जोड़ें। (उदाहरण डिफ़ॉल्ट दृश्य के लिए है, लेकिन list.View[0] भी काम करना चाहिए)

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

कोई समस्या नहीं, मैंने स्वयं भी इसके साथ संघर्ष किया है। – Dribbel

+0

धन्यवाद, यह मेरे लिए काम करता है :) –

+3

उह अब मुझे शेयरपॉइंट मार दो! संपत्तियों के विचार को पूरी तरह से तोड़ने का तरीका। – Nacht

संबंधित मुद्दे