2010-10-07 48 views
2

我正在使用WSS3和C#創建站點,並且正在創建類以在列表創建後更改列表上的字段。我已經創建了一個沒有默認值的SPField.Boolean類型,但升級後我需要將默認值設置爲true。我目前的代碼不起作用如下:WSS3 - 在創建後在SPFieldType.Boolean上設置默認值

  //web is already defined as the current web 
      var list = web.Site.RootWeb.Lists["ListWithFieldOnIt"]; 
      var field = list.Fields.GetField("booleanfield"); 
      field.DefaultValue = "1"; 
      field.Update(true); 
      list.Update(true); 

我試圖通過sharepoint實例和sharepoint manager 2007更改默認值,這些都沒有工作。有誰知道有什麼方法來設置默認值或我做錯了什麼?

在此先感謝

+0

我得到一個布爾?在查詢字段值時鍵入,如果沒有指定默認值並且該字段剛剛在數據庫中創建,則hasValue屬性爲false。該狀態被處理爲在代碼中顯示爲false,但問題是我需要設置一個默認值,即使在處理上述方法時,它也會始終返回該字段的空狀態。 – rgimmy 2010-10-07 21:53:20

回答

1

代碼應該是綽綽有餘更新列表字段定義:

 var list = web.Site.RootWeb.Lists["ListWithFieldOnIt"]; 
     var field = list.Fields.GetField("booleanfield"); 
     field.DefaultValue = "1"; 
     field.Update(); 

你並不需要更新列表,或者通過「真」到SPField.Update方法。