2011-01-10 1 views
1

[bref rappel: anglais n'est pas ma langue maternelle :)]Modification des « règles de mise à jour » d'un -parameter KpiListItem dans SharePoint 2010 programme

Bonjour, j'ai ce problème pendant quelques jours maintenant (et il commence pour me rendre vraiment fou). Comme le titre le dit, mon problème est que j'ai besoin de changer le paramètre "règles de mise à jour" d'un KpiListItem (avant créé) par programme dans un flux de travail. Ce n'est pas un problème pour accéder à l'élément lui-même ou à quelque chose, mais je ne trouve pas de moyen d'accéder au paramètre. J'ai trouvé une solution possible (tutoriel) pour y accéder avec le KpiFactory (source), mais cet exemple colle déjà dans mon code sur la ligne où j'essaye d'invoquer la fonction "GetKpiData": (Me donner une exception à cause du emty-gamme objet ..., mais il est impossible d'obtenir des informations sur les paramètres de la fonction GetKpiData sur le net, le SDK ou quelques livres que je Coché)

SPListItem item = newWeb.Lists[nameIndicatorList].Items[0]; 
Assembly asm = System.Reflection.Assembly.Load("Microsoft.SharePoint.Portal, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"); 
Type t = asm.GetType("Microsoft.SharePoint.Portal.WebControls.KpiFactory"); 
MethodInfo mi = t.GetMethod("GetKpi", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static, null, new Type[] { item.GetType() }, null); 
object kpi = mi.Invoke(null, new object[] { item }); 
mi = kpi.GetType().GetMethod("GetKpiData", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance, null, new Type[] { }, null); 
object kpidata = mi.Invoke(kpi, new object[] { }); 

(l'élément-objet est l'indicateur Je veux accéder)

Quoi qu'il en soit, j'ai suivi le tutoriel juste pour tester si la propriété est encore accessible. Si cela fonctionne, ce ne serait qu'un demi-pas en avant, parce qu'à la fin je veux changer la propriété et pas seulement la lire.

J'espère que quelqu'un a une solution pour mon problème spécifique. Ça me donne vraiment mal à la tête. (Même anwser partielle peut aider.)

sincèrement, Schwalbe Markus

Répondre

0

vous a tagué la question comme Sharepoint 2010 connexes, mais dans le code que vous avez inclus, vous essayez de charger la version 12.0.0.0 de Microsoft. SharePoint.Portal DLL. Est-ce une faute de frappe ou pourrait être le problème (ce qui signifie que si vous utilisez SP2010, vous devriez avoir le code charger la 14.0.0.0 version de la DLL Microsoft.SharePoint.Portal

+0

merci je dois avoir négligé ... mais malheureusement, wasn ' Je reçois toujours une exception sur la dernière ligne, probablement à cause du deuxième paramètre de la méthode Invoke (même si le tutoriel dit que c'est bien comme ça ...). –

Questions connexes