使用旧项的默认值将新列添加到sharepoint列表

时间:2016-06-16 10:44:04

标签: sharepoint sharepoint-list

我在我的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();

}

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

1 个答案:

答案 0 :(得分:2)

您需要做的是遍历列表中的项目(查找具有空值的项目,如果这是您的意图)并将项目中的每个字段设置为默认值。它看起来像这样:

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";
}

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