Изменение параметра «обновить правила» для KpiListItem в SharePoint 2010 программным путем - PullRequest
1 голос
/ 10 января 2011

[короткое напоминание: английский не мой родной язык :)]

Здравствуйте, у меня есть эта проблема в течение нескольких дней (и она начинает сводить меня с ума).

Как гласит заголовок, моя проблема в том, что мне нужно программно изменить параметр «обновить правила» (перед созданием) KpiListItem в рабочем процессе.Не проблема получить доступ к самому элементу или чему-либо еще, но я не могу найти способ получить доступ к параметру.Я нашел возможное решение (учебное пособие) для доступа к нему с помощью KpiFactory ( source ), но этот пример уже застрял в моем коде в строке, где я пытаюсь вызвать функцию «GetKpiData»: (Предоставление мнеисключение из-за объекта-массива emty ..., но невозможно получить некоторую информацию о параметрах функции 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 - это индикатор, к которому я хочу получить доступ)

В любом случае, я следовал руководству только для того, чтобы проверить, достижимо ли свойство.Если это сработает, это будет лишь полшага вперед, потому что в конце я хочу изменить свойство, а не просто прочитать его.

Я надеюсь, что у кого-то есть решение для моей конкретной проблемы.Это действительно доставляет мне головную боль.(Даже частичный ответ может помочь.)

С уважением, Маркус Швальбе

1 Ответ

0 голосов
/ 10 января 2011

Вы пометили вопрос как связанный с Sharepoint 2010, но в коде, который вы включили, вы пытаетесь загрузить версию 12.0.0.0 библиотеки Microsoft.SharePoint.Portal. Является ли это опечаткой или это может быть проблемой (это означает, что если вы используете SP2010, вы должны иметь код, загружающий 14.0.0.0 версию Microsoft.SharePoint.Portal DLL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...