2016-06-16 6 views
0

Я добавил новый столбец Boolean в мой список 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"; 
} 

Вам необходимо сделать это для каждого поля. Надеюсь, это поможет!