Gyors és egyszerű: Kap a SPItemList SPFolder

Folyamatosan fut-ba ez probléma, és a Google soha nem úgy tűnik, hogy megértsék, mit akarok csinálni, úgy gondoltam, hogy lenne írni ezt le.

Végeztem egy csomó eseményérzékelő hibakeresés a múlt héten, vagy két. Az ER definiált a dokumentumtárban. Az egyes elemeket a dokumentumtár szorosan kapcsolódnak a szülő tartók. Így, Mindig kapok a mappát az elem különböző manipulációk. Rövid idő hibakeresés, Kellett, hogy egy mappa, egy adott cikk azonosító tudom, hogy a metaadatok frissítése.

Itt van egy kis konzol alkalmazás (úgy terveztük, hogy a kiszolgáló a farmban) úgy, hogy két érv: az azonosító egy elem és egy érték hozzárendelése egy mező, "Jóváhagyás". Ez kemény-kód egy csomó dolgot, és nincs hibaellenőrzés.

A kód úgy néz ki egy fixen kódolt oldal, kap egy fixen kódolt dokumentumtárat, és ezt követően megkeresi a megjelölt elem. Ez megállapítja, hogy a szülőmappát, majd hozzárendeli az állapot értéke.

A legfontosabb tanulság számomra az, hogy a SPItem nem kap hozzáférést a mappához. Kell használni a SPListItem.File.

Ha valakit érdekel, hogy felajánl egy kritika, vagy azt sugallják, egy jobb út-hoz kap a mappa elem, Kérem, hagyjon egy megjegyzést.

<kód>
használatával Rendszer;
használatával System.Collections.Generic;
használatával System.Text;
használatával Microsoft.SharePoint;
használatával System.Collections;

névtér Conchango
{
    /// <Összefoglaló>
 /// </Összefoglaló>
 osztály ManualFolderUpdate
    {
        statikus Érvénytelen Fő(karakterlánc[] ARG)
        {
            karakterlánc MSH = "ManualFolderUpdate (v1.0): "; // MSH = "üzenet fejléc"

 Konzol.WriteLine(MSH + "Indítása.  Utolsó módosításának a 04/08/08.");

            karakterlánc URL = http://localhost/xyzzy;

            használatával (SPSite oSPSite = új SPSite(URL))
            {

                használatával (SPWeb oSPWeb = oSPSite.OpenWeb())
                {
                    Meg az SPList.Update() docLib = oSPWeb.Lists["A dokumentumok"];

                    Konzol.WriteLine(MSH + "Got a dokumentumtárban.");

                    Konzol.WriteLine(MSH + "Doc lib elemszám: [" + docLib.ItemCount + "].");

                    int Mappaazonosító = 0;
                    karakterlánc NewStatus = "xyzzy";

                    Mappaazonosító = rendszer.Konvertálás.ToInt32(ARG[0].ToString());
                    Konzol.WriteLine("Keresek a mappa elem: [" + Mappaazonosító + "].");

                    SPListItem Li = docLib.GetItemById(Mappaazonosító);

                    SPFolder thisItemFolder = li.File.ParentFolder;

                    Konzol.WriteLine(MSH + "Got a szülő dosszié.");

                    NewStatus = ARG[1].ToString();
                    Konzol.WriteLine("A beállítás állapota [" + NewStatus + "].");

                    Konzol.WriteLine("Nyomja meg a return elkövetni a frissítés vagy CTRL-C-elvetél.");

                    Konzol.ReadLine();

                    thisItemFolder.Item["Jóváhagyási állapot"] = NewStatus;
                    thisItemFolder.Item.Update();

                    Konzol.WriteLine(MSH + "Kész a mappa frissítése.  Kilépés.");

                } // segítségével SPWeb

            } // segítségével SPSite

 Konzol.WriteLine(MSH + "Kész.");

        } // Fő

    } // foldersync osztály
} // névtér
</kód>

</vége>

Subscribe to my blog.

Technorati Tags:

hagyj válaszüzenetet

Az e-mail címed nem kerül nyilvánosságra. Kötelező kitölteni *