AJOU: Sa ap travay men te gen gwo limit ki te dekri nan kòmantè yo. Sa ka toujou kapab itil nan kèk cirumstances.
AJOU 2: Nan pwojè aktyèl m, moun toujou téléchargement dokiman. Kòm yon rezilta, Mwen pa kwaze ak yon pwoblèm ki kote Madanm Word kouri ak panse dokiman an te renommée sou li. M te kwaze ak yon pwoblèm, "dokiman an te modifye pou yon lòt moun" ak rezoud sa via yon drapo tip senp sémaphore. Moun bezwen pou chanje yon jaden done meta nan pri pou defo li pou yon lòt bagay. A itemupdated() destinataire parèt pou yon bon valè la anvan ke aktyèlman renommer a, ak depi lè sa a, Mwen pa te gen okenn pwoblèm. Kilométrage ou lan kapab varye.
Mwen gen yon kondisyon kliyan pou chanje non fichiers chargé pou yon bibliyotèk espesifik dokiman pou konfòm ak yon konvansyon D' patikilye. API a pa bay yon "bay yon lòt non()" metòd. Alaplas de, nou itilize "MoveTo(…)". Isit la se yon minimòm moso kòd pou reyalize sa:
piblik remplacer vid ItemAdded(SPItemEventProperties propriétés) { SPFile f = propriétés.ListItem.File; f.MoveTo(propriétés.ListItem.ParentList.RootFolder.Url + "/xyzzy.doc"); f.Update(); } |
Sèlman ekzamp moso se "propwiyete. ListItem.ParentList.RootFolder.Url". A MoveTo() metòd mande yon adrès entènèt. Sa pire moute pwen kòd yo m' pou Katab rasin nan bibliyotèk dokiman aktyèl m. Sa pèmèt mwen pou evite okenn di codage nan destinataire evènman m.
Sa se yon vèsyon pli itil ki fè menm bagay la, Men, affecte non dokiman an pou "Tit":
piblik remplacer vid ItemAdded(SPItemEventProperties propriétés) { DisableEventFiring(); // Deziyen yon Tit atik sa yo pou ranpli tèt li. // NOTE: Transfè sa a dwe pran plas anvan nou motifye dokiman an tèt li. // Rele ajou() sou SPFile a sanble li annuler pwopwiyete yo nan // yon sans. À pou "Tit" te tonbe jiskaske ki chanje (Et à() rele) // te tranble devan a chanje non fichier. propriétés.ListItem["Tit"] = propriétés.ListItem.File.Name; propriétés.ListItem.Update(); SPFile f = propriétés.ListItem.File; // Pran estansyon de dokiman an. Nou bezwen ki pi ta. filè spfileExt = nouvo FileInfo(f.Name).Estansyon; // Bay yon lòt non dokiman an pou Didantite atik lis Et sèvi ak dosye Pwolonjman pou kenbe // pati sa li an donmaj. f.MoveTo(propriétés.ListItem.ParentList.RootFolder.Url + "/" + propriétés.ListItem["DIDANTITE"] + spfileExt); // Komèt mouvman. f.Update(); EnableEventFiring(); } |