Szybkie i łatwe: Się SPFolder SPItemList

Zachować uruchomiony na ten problem i Google nigdy nie wydaje się zrozumieć, co chcę zrobić, więc pomyślałem, że piszę to w dół.

Robiłem wiele odbiornik przypadku debugowania w ostatnim tygodniu lub dwóch. ER jest zdefiniowana z biblioteki dokumentów. Poszczególnych elementów w bibliotece dokumentów są ściśle związane z ich folderów nadrzędnych. Tak, Zawsze dostaję folder elementu dla różnych manipulacji. Podczas debugowania, Potrzebne do aktualizacji metadane folderu dla określonej pozycji ID, którego znam.

Tutaj jest trochę aplikacji konsoli (zaprojektowany do uruchamiania na serwerze w farmie) ów wziąć dwa argumenty: Identyfikator element i wartość, aby przypisać do pola, "Stan zatwierdzenia". Trudno kody wiele rzeczy i ma nie sprawdzanie błędów.

Kod wygląda na stronie zakodowanego, dostaje biblioteki dokumentów zakodowanego i następnie wyszukuje wskazany element. Następnie znajdzie folderu nadrzędnego elementu i przypisuje wartość stanu.

Najważniejsza lekcja dla mnie jest to, że SPItem nie uzyskać dostęp do folderu. Ty potrzebować wobec używać SPListItem.File.

Jeśli ktoś dba, aby oferować krytyki lub zaproponować lepszy sposób, aby uzyskać folder elementu, Proszę zostawić komentarz.

<kod>
przy użyciu Systemu;
przy użyciu System.Collections.Generic;
przy użyciu System.Text;
przy użyciu Microsoft.SharePoint;
przy użyciu System.Collections;

Przestrzeń nazw Conchango
{
    /// <Podsumowanie>
 /// </Podsumowanie>
 Klasa ManualFolderUpdate
    {
        statyczne nieważne Główne(ciąg[] argumenty)
        {
            ciąg msh = "ManualFolderUpdate (v1.0): "; // msh = "Nagłówek wiadomości"

 Konsoli.WriteLine(msh + "Zaczyna.  Ostatnio zmodyfikowano 08/04/08.");

            ciąg URL = http://localhost/xyzzy;

            przy użyciu (SPSite oSPSite = Nowy SPSite(adres URL))
            {

                przy użyciu (Sieci Web programu SharePoint oSPWeb = oSPSite.OpenWeb())
                {
                    SPList biblioteki dokumentów = oSPWeb.Lists["Dokumenty"];

                    Konsoli.WriteLine(msh + "Got biblioteki dokumentów.");

                    Konsoli.WriteLine(msh + "Doc lib liczba elementów: [" + docLib.ItemCount + "].");

                    int Identyfikator folderu = 0;
                    ciąg NewStatus = "xyzzy";

                    Identyfikator folderu = System.Konwersja.ToInt32(argumenty[0].ToString());
                    Konsoli.WriteLine("Szukam folderu dla elementu: [" + Identyfikator folderu + "].");

                    SPListItem li = docLib.GetItemById(Identyfikator folderu);

                    SPFolder thisItemFolder = li.File.ParentFolder;

                    Konsoli.WriteLine(msh + "Dostał po folderze nadrzędnym.");

                    NewStatus = args[1].ToString();
                    Konsoli.WriteLine("Ustawienie stanu [" + NewStatus + "].");

                    Konsoli.WriteLine("Naciśnij przycisk return, aby zatwierdzanie aktualizacji lub CTRL-C, aby przerwać.");

                    Konsoli.GNU ReadLine();

                    thisItemFolder.Item["Stan zatwierdzenia"] = NewStatus;
                    thisItemFolder.Item.Update();

                    Konsoli.WriteLine(msh + "Zakończeniu aktualizacji do folderu.  Zamykania.");

                } // za pomocą SPWeb

            } // za pomocą SPSite

 Konsoli.WriteLine(msh + "Gotowy.");

        } // Główne

    } // Klasa darmo
} // Przestrzeń nazw
</kod>

</koniec>

Subskrybowanie mój blog.

Technorati znaczniki:

Odpowiedz

Twoj adres e-mail nie bedzie opublikowany. wymagane pola są zaznaczone *