以编程方式更改SharePoint 2010中的KpiListItem的“更新规则”参数

[简短提醒:英语不是我的母语:)] 你好,我现在有这个问题几天了(它开始让我非常生气)。 就像标题所说,我的问题是我需要在工作流程中以编程方式更改(之前创建的)KpiListItem的“更新规则”参数。 访问Item本身或任何东西都不是问题,但我找不到访问参数的方法。 我找到了一个可能的解决方案(教程)来使用KpiFactory(源代码)访问它,但是这个例子已经停留在我尝试调用“GetKpiData”函数的代码中:(由于emty而给我一个例外) object-array ...,但是不可能在网上获得有关GetKpiData函数参数的一些信息,SDK或我检查的一些书籍)
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[] { });
(item-object是我想要访问的指标) 无论如何,我按照教程来测试该属性是否可以访问。如果这样做,它只会向前迈出半步,因为最后我想改变属性,而不是只读它。 我希望有人能解决我的具体问题。这真让我头疼。 (甚至部分anwser可能会帮助。) 真诚, Markus Schwalbe     
已邀请:
您将问题标记为与Sharepoint 2010相关,但在您包含的代码中,您尝试加载Microsoft®SharePoint.PortalDLL的
12.0.0.0
版本。是拼写错误还是可能是问题(意味着如果你使用SP2010,你应该让代码加载
Microsoft.SharePoint.Portal
DLL的
14.0.0.0
版本。     

要回复问题请先登录注册