2016-06-16 65 views
0

我添加了一個新的布爾列到我的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

回答

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

您需要爲每個字段執行此操作。我希望這有幫助!