Rapide kaj Facile: Akiri SPFolder de SPItemList

Mi tenas kuranta en ĉi tiu problemo kaj la Google neniam ŝajnas kompreni kion mi deziras fari, Do mi kalkulis min skribus tion ĉi malsupren.

Mi estis faranta multan eventan ricevilon elpuriganta en la lasta semajno aŭ du. La ER estas difinita kontraŭ dokumenta biblioteko. La individuaj eroj en la dokumenta biblioteko estas streĉe rilatita al iliaj gepatraj tekoj. Tiel, Mi estas ĉiam akiranta la tekon de la ero por diversaj manipuladoj. Dum elpuriganta, Mi devis #?isdatigi la metadata de teko por specifa ero kies #IDENTIGA?O mi scias.

#?I tie?? Malgranda regilara apliko (Desegnita kuri sur servilo en la bieno) Kiu prenas du argumentojn: La #IDENTIGA?O de ero kaj valoro asigni al kampo, "Aproba Statuso". Ĝi malfacile kodas multan aĵon kaj havas neniun eraran kontroladon.

La kodo rigardas supre malfacile kodita ejon, Akiras malfacile kodita dokumentan bibliotekon kaj tiam trovas la indikita eron. Ĝi tiam trovas la gepatran tekon de tiu ero kaj asignas la statusan valoron.

La kerna leciono ĉi tie por mi estas ke SPItem ne akiras vin aliri al la teko. Vi devas uzi SPListItem.Dosiero.

Se iu ajn zorgas proponi kritikon #a? sugesti pli bonan vojon akiri la tekon de ero, Bonvolu lasi rimarkon.

<Kodo>
Uzanta Sistemo;
Uzanta Sistemo.Kolektoj.Kolektiva;
Uzanta Sistemo.Teksto;
Uzanta Microsoft.SharePoint;
Uzanta Sistemo.Kolektoj;

Namespace Conchango
{
    /// <Resuma>
 /// </Resuma>
 Klaso ManualFolderUpdate
    {
        Senmova Malplena Ĉefa(Ŝnuro[] Args)
        {
            Ŝnuro Msh = "ManualFolderUpdate (V1.0): "; // Msh = "#Mesa?o Titolo"

 Regilaro.WriteLine(Msh + "Komencanta supre.  Mi estis laste modifita sur 08/04/08.");

            Ŝnuro Url = http://localhost/xyzzy;

            Uzanta (SPSite OSPSite = Nova SPSite(Url))
            {

                Uzanta (SPWeb OSPWeb = oSPSite.OpenWeb())
                {
                    SPList DocLib = oSPWeb.Listoj["Dokumentoj"];

                    Regilaro.WriteLine(Msh + "Akiris la dokumentan bibliotekon.");

                    Regilaro.WriteLine(Msh + "Doc lib era kalkulo: [" + DocLib.ItemCount + "].");

                    Int FolderID = 0;
                    Ŝnuro NewStatus = "Xyzzy";

                    FolderID = Sistemo.Transformi.ToInt32(Args[0].ToString());
                    Regilaro.WriteLine("#Ser?i tekon por ero: [" + FolderID + "].");

                    SPListItem Li = docLib.GetItemById(FolderID);

                    SPFolder ThisItemFolder = li.Dosiero.ParentFolder;

                    Regilaro.WriteLine(Msh + "Akiris la gepatran tekon.");

                    NewStatus = args[1].ToString();
                    Regilaro.WriteLine("Fiksanta statuson al [" + NewStatus + "].");

                    Regilaro.WriteLine("Gazetara reveno fari la #?isdatigo #a? CTRL-C haltigi.");

                    Regilaro.ReadLine();

                    ThisItemFolder.Ero["Aproba Statuso"] = NewStatus;
                    ThisItemFolder.Ero.#?Isdatigo();

                    Regilaro.WriteLine(Msh + "Finis #?isdatigi la tekon.  Eliranta.");

                } // Uzanta SPWeb

            } // Uzanta SPSite

 Regilaro.WriteLine(Msh + "Finita.");

        } // Ĉefa

    } // Klasifiki foldersync
} // Namespace
</Kodo>

</Fino>

Aboni al mia blogo.

Technorati Etikedoj:

Lasi Respondon

Via retpoŝta adreso ne estos eldonita. Postulita kampojn estas markita *