【问题标题】:Changing the "update rules"-parameter of a KpiListItem in SharePoint 2010 programmatically以编程方式更改 SharePoint 2010 中 KpiListItem 的“更新规则”参数
【发布时间】:2011-01-10 11:11:13
【问题描述】:

[简短提醒:英语不是我的母语:)]

您好,我有这个问题好几天了(它开始把我逼疯了)。

正如标题所说,我的问题是我需要在工作流中以编程方式更改(创建之前)KpiListItem 的“更新规则”参数。 访问 Item 本身或任何东西都不是问题,但我找不到访问参数的方法。 我找到了一个可能的解决方案(教程)来使用 KpiFactory (source) 访问它,但是这个示例已经卡在我尝试调用“GetKpiData”-Function 的行中的代码中:(给我一个例外,因为emty object-array ...,但是在网上,SDK或我查过的一些书籍上无法获得有关GetKpiData-function的参数信息)

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是我要访问的指标)

无论如何,我按照教程只是为了测试该属性是否可以访问。如果这行得通,那只会向前迈出半步,因为最后我想更改属性而不仅仅是读取它。

我希望有人能解决我的具体问题。真是让我头疼。 (即使是部分答案也可能有所帮助。)

真诚地, 马库斯·施瓦尔贝

【问题讨论】:

    标签: sharepoint-2010 indicator splistitem kpi


    【解决方案1】:

    您将该问题标记为与 Sharepoint 2010 相关,但在您包含的代码中,您尝试加载 Microsoft.SharePoint.Portal DLL 的 12.0.0.0 版本。是拼写错误还是可能是问题所在(这意味着如果您使用的是 SP2010,则应该让代码加载 14.0.0.0 版本的 Microsoft.SharePoint.Portal DLL。

    【讨论】:

    • 谢谢我一定忽略了它......但不幸的是,这也不是问题的根源。最后一行我仍然得到一个异常,可能是因为调用方法的第二个参数(即使教程说这样很好......)。
    猜你喜欢
    • 2013-08-07
    • 1970-01-01
    • 2016-07-23
    • 2010-12-09
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 2011-10-19
    相关资源
    最近更新 更多