2009-06-16 136 views
2

我無法弄清楚如何使用對象模型將自定義列類型添加到列表中。sharepoint - 通過對象模型添加自定義列到列表

SPFieldCollection.Add()有一個參數SPFieldType,但它必須是Microsoft.SharePoint.SPFieldType枚舉中的枚舉值之一,因此它不能用於創建自定義類型的列。我接下來嘗試使用SPFieldCollection.CreateNewField(),但是當我在返回的值上調用SPField.Update()時,我得到一個異常:「ArgumentException未處理,值不在預期的範圍內」。

我在這裏看到對SPFieldCollection.AddFieldAsXml()的引用:How do I add custom column to existing WSS list template但幾乎沒有任何信息,我不確定這是正確的方向。

更新:我在AddFieldAsXml上發現了一個帖子:http://weblogs.asp.net/bsimser/archive/2005/07/21/420147.aspx,事實證明它非常簡單,對我來說運行良好。無論如何,希望它會幫助別人。

+0

您應該將您找到的解決方案移到答案中。 – 2009-06-16 15:09:29

回答

1
Try with: 

SPField newField = null; 
newField= web.Fields.CreateNewField("MyFieldTypeName", fieldName); 
web.Fields.Add(newField); 

newField = web.Fields[fieldName]; 

// set some properties 
newField.ShowInDisplayForm = false; 
newField.ShowInViewForms = true; 
newField.Update(); 
相關問題