Sharepoint 2010 以编程方式更改SharePoint 2010中KPI的“更新规则”参数
[简短提示:英语不是我的母语:] 你好,我有这个问题已经好几天了,它开始让我发疯 正如标题所说,我的问题是我需要在工作流中以编程方式更改在创建KpiListItem之前的更新规则参数。 访问项目本身或任何东西都不是问题,但我找不到访问参数的方法。 我找到了一个可能的解决方案教程,可以使用KpiFactory访问它,但是在我试图调用GetKpiData函数的代码行中,这个示例已经出现了问题:由于emty对象数组,给了我一个异常…,但是不可能在网上获得关于GetKpiData函数参数的一些信息,SDK或者我查过的一些书Sharepoint 2010 以编程方式更改SharePoint 2010中KPI的“更新规则”参数,sharepoint-2010,indicator,splistitem,kpi,Sharepoint 2010,Indicator,Splistitem,Kpi,[简短提示:英语不是我的母语:] 你好,我有这个问题已经好几天了,它开始让我发疯 正如标题所说,我的问题是我需要在工作流中以编程方式更改在创建KpiListItem之前的更新规则参数。 访问项目本身或任何东西都不是问题,但我找不到访问参数的方法。 我找到了一个可能的解决方案教程,可以使用KpiFactory访问它,但是在我试图调用GetKpiData函数的代码行中,这个示例已经出现了问题:由于emty对象数组,给了我一个异常…,但是不可能在网上获得关于GetKpiData函数参数的一些信息,SD
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对象是我要访问的指示器
无论如何,我遵循教程只是为了测试属性是否可以访问。如果这样做有效,那只会向前迈进半步,因为最终我想要更改属性,而不仅仅是阅读它
我希望有人能解决我的具体问题。这真让我头疼。
即使是部分的anwser也会有所帮助
真诚地,
Markus Schwalbe您将该问题标记为与Sharepoint 2010相关,但在包含的代码中,您尝试加载12.0.0.0版本的Microsoft.Sharepoint.Portal DLL。可能是输入错误,也可能是问题所在,这意味着如果您使用SP2010,您应该让代码加载14.0.0.0版本的Microsoft.SharePoint.Portal DLL。谢谢,我一定是忽略了它。。。但不幸的是,这也不是问题的根源。我在最后一行仍然得到了一个异常,可能是因为Invoke方法的第二个参数,尽管教程说这样很好。。。。