Проблема с SPFieldLinkCollection.Reorder: не работает, как описано - PullRequest
0 голосов
/ 01 декабря 2009

Я работаю с пользовательским списком, который я создал в SharePoint. У меня есть функция, которая имеет обработчик событий, который запускается, когда эта функция активирована. Этот обработчик событий вызывает (я могу отладить и наблюдать за его выполнением) следующую функцию:

Я предполагаю, что функция ведет себя , как описано здесь.

private void OrderFields(SPWeb web)
{
   // This works fine: I get the expected SPContentType object
   // There is only 1 SPContentType in ContentTypes
   SPContentType contentType = web.Lists[TASK_LIST_NAME].ContentTypes[0];

   contentType.FieldLinks.Reorder(new string[4]
   {
      "Field1",
      "Field2",
      "Field3",
      "Field4"
   });

   contentType.Update();
}

Функция, которая вызывает OrderFields, также вызывает web.Update();.

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

1 Ответ

0 голосов
/ 01 декабря 2009

Проблема была с моими именами полей.

У меня было два поиска, которые я программно создал ранее при выполнении обработчика событий. Внутренние имена этих поисков значительно отличаются от имен «Field1» и «Field2», которые я дал им в параметрах Name и StaticName моего определения CAML.

Вместо этого, внутреннее имя, по-видимому, состоит из отображаемого имени, пробелы заменены на " 0020 " и обрезаны до длины 32 символа.

...