迅速で簡単な: SPItemList の SPFolder を取得します。

私はこの問題に実行し続けるし、Google は決してやりたいを理解すると思われる, ダウンこれを書くでしょう考え出したので.

最後の 1 週間または 2 つのデバッグ イベント レシーバーの多くを行ってきた. 小胞体は、ドキュメント ライブラリに対して定義されて. ドキュメント ライブラリ内の個々 の項目は、親フォルダーと密接に関係します。. だから, 私は常に様々 な操作の項目のフォルダーを得ること. デバッグ中, 私は知っている ID の特定の項目のフォルダーのメタデータを更新するために必要な.

ここでは少しコンソール アプリケーションです。 (ファーム内のサーバー上で実行するように設計) 2 つの引数を受け取る: 項目と値のフィールドに割り当てる ID, 「承認状態」. それは難しいものの多くのコードし、エラー チェックを持たない.

コードは、ハード コーディングされたサイトを検索します。, ハード コーディングされたドキュメント ライブラリを取得し、指定されたアイテムを検索. そのアイテムの親フォルダーを検索し、ステータス値を割り当てます.

ここで私にとって重要な教訓は、SPItem がフォルダーへのアクセスを取得していないこと. SPListItem.File を使用する必要があります。.

誰にも気を批判を提供したり、アイテムのフォルダーを取得するより良い方法を提案する場合, くださいコメントを残す.

<コード>
使用してください。 システム;
使用してください。 その他;
使用してください。 System.Text;
使用してください。 Microsoft.SharePoint;
使用してください。 System.Collections;

名前空間 Conchango
{
    /// <概要>
 /// </概要>
 クラス ManualFolderUpdate
    {
        静的 void メイン(文字列[] args)
        {
            文字列 msh = "ManualFolderUpdate (v1.0): "; // msh ="メッセージのヘッダー"

 コンソール.WriteLine(msh + "を開始.  私は最終 08/08/04 に更新されました。");

            文字列 url = http://localhost/xyzzy;

            使用してください。 (SPSite oSPSite = 新機能 SPSite(url))
            {

                使用してください。 (SPWeb oSPWeb = oSPSite.OpenWeb())
                {
                    SPList docLib = oSPWeb.Lists["ドキュメント"];

                    コンソール.WriteLine(msh + 「ドキュメント ライブラリを得た。");

                    コンソール.WriteLine(msh + "Doc lib 項目カウント: [" + docLib.ItemCount + "].");

                    int FolderID = 0;
                    文字列 再入国 = "xyzzy";

                    FolderID = システム.変換.ToInt32(args[0].ToString());
                    コンソール.WriteLine(「アイテムのフォルダーを求めています。: [" + FolderID + "].");

                    SPListItem 李 = docLib.GetItemById(FolderID);

                    SPFolder thisItemFolder li を =。File.ParentFolder;

                    コンソール.WriteLine(msh + "親フォルダーを得た。");

                    再入国 args を =[1].ToString();
                    コンソール.WriteLine(「状態をを設定 [" + 再入国 + "].");

                    コンソール.WriteLine(「リターンを押してを中止する CTRL C または更新をコミットします。");

                    コンソール.ReadLine();

                    thisItemFolder.Item["承認の状況"] = (再入国;
                    thisItemFolder.Item.Update();

                    コンソール.WriteLine(msh + 「フォルダーの更新が完了.  終了しています。");

                } // SPWeb を使用してください。

            } // SPSite の使用

 コンソール.WriteLine(msh + 「終わった。");

        } // メイン

    } // クラス集合的
} // 名前空間
</コード>

</終了>

私のブログを購読します。.

メッセージを残してください

あなたのメールアドレスが公開されることはありません. 必須フィールドは、マークされています *