我在我的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 :(得分: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";
}
您需要为每个字段执行此操作。我希望这有帮助!