Ātri un viegli: Iegūt SPItemList SPFolder

Es nepārstāju saskarties ar šo problēmu un Google nekad, šķiet, lai saprastu, ko es gribu darīt, tāpēc es iedomājos, ka varētu rakstīt to uz leju.

Esmu darījis daudz notikumu uztvērēju atkļūdošanu sistēmā pagājušajā nedēļā vai divas. ER ir definēta pret dokumentu bibliotēkā. Atsevišķus vienumus šajā dokumentu bibliotēkā ir cieši saistītas ar savus vecākmapēm. Tik, Esmu vienmēr kļūst vienumu mapi par dažādām manipulācijām. Atkļūdojot, Nepieciešams, lai atjauninātu mapi noteiktam krājumam kura ID es zinu metadatus.

Te ir maz konsoles lietojumprogrammu (domāts darbināšanai serverī šajā fermā) kas paņem divus argumentus: ID vienumam un vērtību laukam piešķirtu, "Apstiprinājuma statusu". Tā grūti kodi daudz sīkumi un nekādu kļūdu pārbaude.

Kods tiek uzmeklēts grūti kodētu vietnes, kļūst grūti kodētu dokumentu bibliotēkā un pēc tam atrod norādīto vienumu. Pēc tam atrod vecākmapi šīs preces eksemplāru un piešķir statusa vērtības.

Galvenā mācība man ir SPItem nav iegūt piekļuvi mapei. Jums vajadzēs izmantot SPListItem.File.

Ja kāds rūpējas piedāvāt kritiku vai ieteikt labāku veidu, kā iegūt mapes vienumu, Lūdzu, atstājiet komentāru.

<kods>
izmantojot Sistēma;
izmantojot System.Collections.Generic;
izmantojot System.Text;
izmantojot Microsoft.SharePoint;
izmantojot System.Collections;

nosaukumvietas Conchango
{
    /// <kopsavilkums>
 /// </kopsavilkums>
 klase ManualFolderUpdate
    {
        statiskā anulēts Main(virkne[] args)
        {
            virkne MSH = "ManualFolderUpdate (v 1.0): "; // MSH = "ziņojuma galvenē"

 Konsoles.WriteLine(MSH + "Startēšana.  Es pēdējo reizi tika mainīts no 08/04/08.");

            virkne URL = http://localhost/xyzzy;

            izmantojot (SPSite oSPSite = jaunā SPSite(URL))
            {

                izmantojot (SPWeb oSPWeb = oSPSite.OpenWeb())
                {
                    SPList docLib = oSPWeb.Lists["Dokumenti"];

                    Konsoles.WriteLine(MSH + "Saņēmu dokumentu bibliotēkā.");

                    Konsoles.WriteLine(MSH + "Doc lib krājuma inventarizācija: [" + docLib.ItemCount + "].");

                    Int Mapes ID = 0;
                    virkne NewStatus = "xyzzy";

                    Mapes ID = sistēma.Konvertēt.ToInt32(args[0].ToString());
                    Konsoles.WriteLine("Meklē vienumu mapē: [" + Mapes ID + "].");

                    SPListItem Li = docLib.GetItemById(Mapes ID);

                    SPFolder thisItemFolder = li.File.ParentFolder;

                    Konsoles.WriteLine(MSH + "Ieguva vecākmapi.");

                    NewStatus = args[1].ToString();
                    Konsoles.WriteLine("Iestatīt statusu [" + NewStatus + "].");

                    Konsoles.WriteLine("Nospiediet atgriešanas izdarīt update vai CTRL   C, lai priekšlaikus pārtrauktu.");

                    Konsoles.ReadLine();

                    thisItemFolder.Item["Apstiprinājuma statusu"] = NewStatus;
                    thisItemFolder.Item.Update();

                    Konsoles.WriteLine(MSH + "Beidzis atjaunināt šo mapi.  Iziešanas.");

                } // izmantojot SPWeb

            } // izmantojot SPSite

 Konsoles.WriteLine(MSH + "Pabeigta.");

        } // Main

    } // klase foldersync
} // nosaukumvietas
</kods>

</beigās>

Abonēt manu blogu.

Technorati Tags: Technorati Tags:

atstāt atbildi

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti *