2

私は 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 manager 2007 を使用してデフォルト値を変更しようとしましたが、どちらも機能しませんでした。デフォルト値を設定する方法、または私が間違っていることを誰かが知っていますか?

前もって感謝します

4

2 に答える 2

2

Programmatically setting the default value of a SPFieldBoolean fieldに従って正しく実行しているようです。本当に悪いことは何も見えません。私の唯一の提案は、ブール値パラメーターなしで Update 呼び出しを試すことです。MSDN によると、SPField.Update メソッド (ブール値)は、リスト内の列ではなく、サイトの列を対象としているようです。コードでフィールドまたはリストを更新するときは常に、ほとんどの場合、パラメーターなしの Update メソッドを使用します。

于 2010-10-08T13:15:00.677 に答える
1

リスト フィールドの定義を更新するには、以下のコードで十分です。

       var list = web.Site.RootWeb.Lists["ListWithFieldOnIt"];
       var field = list.Fields.GetField("booleanfield");
       field.DefaultValue = "1";
       field.Update();

リストを更新したり、SPField.Update メソッドに「true」を渡したりする必要はありません。

于 2011-08-18T14:24:13.160 に答える