添加新列到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();
}
如何添加现有项目的默认值?
答
你需要做的是通过在清单中的项目迭代(寻找空值的项目,如果这是你的意图是什么),并在项目由默认值设定每个字段。它看起来像这样:
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";
}
您需要为每个字段执行此操作。我希望这有帮助!
你想对现有项目的一次性事件设置的默认值? –
是的,我希望旧的项目得到默认值 – Arman