WSS3 - установка значения по умолчанию для SPFieldType.Boolean после создания
Я использую WSS3 и C# для создания сайта и создаю класс для изменения полей в списках после их создания. Я уже создал тип SPField.Boolean без значения по умолчанию, но после обновления мне нужно, чтобы значение по умолчанию было установлено в true. Мой текущий код, который не работает, выглядит следующим образом:
//web is already defined as the current web
var list = web.Site.RootWeb.Lists["ListWithFieldOnIt"];
var field = list.Fields.GetField("booleanfield");
field.DefaultValue = "1";
field.Update(true);
list.Update(true);
Я попытался изменить значение по умолчанию с помощью экземпляра sharepoint и менеджера sharepoint 2007, и ни один из них не сработал. Кто-нибудь знает какой-либо способ установить значение по умолчанию или что я делаю неправильно?
заранее спасибо
2 ответа
Приведенного ниже кода должно быть более чем достаточно для обновления определения поля списка:
var list = web.Site.RootWeb.Lists["ListWithFieldOnIt"];
var field = list.Fields.GetField("booleanfield");
field.DefaultValue = "1";
field.Update();
Вам не нужно обновлять список или передавать значение true в метод SPField.Update.
Похоже, вы делаете это правильно в соответствии с Программно установленным значением по умолчанию поля SPFieldBoolean. Я не вижу ничего действительно плохого. Мое единственное предложение - попробовать вызовы Update без логического параметра. Из MSDN метод SPField.Update (Boolean), по-видимому, предназначен для столбцов сайта, а не для столбцов в списке. Всякий раз, когда я обновляю поле или список в коде, я почти всегда использую метод обновления без параметров.