Sharepoint: как получить значение пользовательских столбцов - PullRequest
2 голосов
/ 27 июля 2010

У меня есть список в Sharepoint с двумя новыми пользовательскими столбцами «Утверждающие первую строку» и «Подтверждающие вторая строка».Тип этих столбцов - «Персона или группа», а «Разрешить множественный выбор» - «Да».

Как получить значение пользовательских столбцов?

Я пробую этот метод:

string Name = item["Name"] as string;
string ModifiedBy = item["Modified By"] as string;
string FirstLineApprovers = item["First line approvers"] as string;
string SecondLineApprovers = item["Second line approvers"] as string;

и для первых двух столбцов я получаю правильные значения:

"New Text Document.txt"
"1;#SHAREPOINT\\Administrator"

, но для моих новых столбцов я получаю

null
null

, но у этих столбцов есть значения !!!

"Утверждающие в первую строку"

SHAREPOINT\user1
SHAREPOINT\user2
SHAREPOINT\user3

и "Утверждающие вторую строку"

SHAREPOINT\user4

Что не так и как я могу получить значения этих столбцов

Ответы [ 4 ]

3 голосов
/ 28 июля 2010

Я решаю свою проблему.

Правильно привести к SPFieldUserValueCollection , а не к строке

SPFieldUserValueCollection FirstLineApprovers = (SPFieldUserValueCollection ) item["First line approvers"];

foreach (SPFieldUserValue userValue in FirstLineApprovers)
{
  //...
}
0 голосов
/ 29 июля 2010

Получите SharePoint Manager 2007 или 2010 (http://spm.codeplex.com), чтобы проверить свойство InternalName ваших полей, поскольку это свойство, которое использует элемент [].

Будьте осторожны - хотя вы можете использовать его для изменения свойств, вы не должны!

0 голосов
/ 27 июля 2010

Если ваши пользовательские столбцы были созданы с помощью браузера, попробуйте:

string FirstLineApprovers = item["First_x0020_line_x0020_approvers"] as string; 
string SecondLineApprovers = item["Second_x0020_line_x0020_approver"] as string; 
0 голосов
/ 27 июля 2010

Я бы посмотрел, как вы получаете доступ к столбцам.Поскольку возвращаемое значение равно нулю, похоже, что оно не может ссылаться на столбцы на основе указанных вами имен.При создании пользовательского столбца вы указываете имя и отображаемое имя.Попробуйте изменить «утверждающие первую строку» на любое имя столбца (при условии, что вы сейчас используете отображаемое имя)

Можете ли вы предоставить немного больше информации о столбцах?Я предполагаю, что тип данных - SPListItem, но было бы полезно узнать атрибуты добавленных вами пользовательских столбцов.

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