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), по-видимому, предназначен для столбцов сайта, а не для столбцов в списке. Всякий раз, когда я обновляю поле или список в коде, я почти всегда использую метод обновления без параметров.

Другие вопросы по тегам