添加新列到SharePoint列表与旧项目

问题描述:

我添加了一个新的布尔列到我的SharePoint列表默认值。尽管我已经为该列设置了默认值,但是对于新列,现有项目没有值添加新列到SharePoint列表与旧项目

if (!FieldUtilities.FieldExists(calculationList, M56CalculationFields.INN_M56_IsNewItem)) 
{ 
    calculationList.Fields.Add(M56CalculationFields.INN_M56_IsNewItem, SPFieldType.Boolean, false); 
    var isNewItem = (SPFieldBoolean)calculationList.Fields[M56CalculationFields.INN_M56_IsNewItem]; 
    isNewItem.Group = "MMC"; 
    isNewItem.Title = "Is NewItem"; 
    isNewItem.Description = "Is New Item"; 
    isNewItem.ShowInEditForm = false; 
    isNewItem.DefaultValue = "0"; 
    isNewItem.Update(); 
    calculationList.Update(); 

} 

如何添加现有项目的默认值?

+0

你想对现有项目的一次性事件设置的默认值? –

+0

是的,我希望旧的项目得到默认值 – Arman

你需要做的是通过在清单中的项目迭代(寻找空值的项目,如果这是你的意图是什么),并在项目由默认值设定每个字段。它看起来像这样:

var query = new SPQuery(); 
query.Query = @"<Where><IsNull><FieldRef Name='MyField' /></IsNull></Where> 

var items = calculationList.GetItems(query); 
foreach(SPListItem item in items) 
{ 
    item["MyField"] = "Default Value"; 
} 

您需要为每个字段执行此操作。我希望这有帮助!