2010-10-07 50 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方法。