Автоколонка в списке SharePoint - PullRequest
       29

Автоколонка в списке SharePoint

28 голосов
/ 16 сентября 2008

В списке SharePoint я хочу столбец с автоматическими номерами, который при добавлении в список увеличивается. Как лучше я могу пойти по этому поводу?

Ответы [ 9 ]

53 голосов
/ 16 сентября 2008

Списки Sharepoint автоматически имеют столбец с «ID», который автоматически увеличивается. Вам просто нужно выбрать этот столбец на экране «Изменить вид», чтобы просмотреть его.

9 голосов
/ 16 сентября 2008

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

Существует довольно много таких столбцов, которые существуют, но никогда не отображаются, например "Создано" и "Создано". Эти поля используются в SharePoint, но они не отображаются по умолчанию, чтобы не загромождать отображение. Вы не можете редактировать эти поля, но вы можете отобразить их для пользователя. если вы установите флажок «Показать» рядом с полем идентификатора, вы получите уникальное и автоматически сгенерированное поле идентификатора, отображаемое в вашем списке.

Выезд: Уникальный идентификатор в списке SharePoint

5 голосов
/ 16 сентября 2008

Если вы хотите контролировать форматирование уникального идентификатора, вы можете создать свой собственный <FieldType> в SharePoint . MSDN также имеет визуальный How-To . Это в основном означает, что вы создаете пользовательский столбец.

WSS определяет тип поля Counter (это то, что используется в приведенном выше столбце идентификатора). У меня никогда не было необходимости повторно использовать это или расширять его, но это должно быть возможно.

Решение может существовать без создания пользовательского <FieldType>. Например: если вам нужны уникальные идентификаторы, такие как CUST1, CUST2, ..., возможно, можно создать столбец Calculated и использовать значение столбца ID в формуле (="CUST" & [ID]). Я не пробовал это, но это должно работать :)

4 голосов
/ 19 апреля 2013

У меня была эта проблема с пользовательским списком, и, хотя невозможно создать автоматически сгенерированный столбец ID для создания вычисляемого столбца, можно использовать рабочий процесс для выполнения тяжелой работы. 1003 *

Я создал новую переменную рабочего процесса типа Number и установил для нее значение столбца ID в текущем элементе. Тогда это просто вопрос вычисления значения пользовательского столбца и его установки - в моем случае мне просто нужно было начать нумерацию с 100 000.

enter image description here

1 голос
/ 20 сентября 2008

Так что я не уверен, что могу действительно подумать о , почему вам на самом деле понадобится идентификатор "уникальное семейство сайтов", так что, возможно, вы можете прокомментировать и сообщить нам, что на самом деле здесь пытаются достичь. ..

В любом случае, все элементы имеют свойство UniqueID, которое является GUID, если оно действительно необходимо : http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.uniqueid.aspx

1 голос
/ 17 сентября 2008

Как уже говорилось, все объекты в sharepoint содержат своего рода уникальный идентификатор (часто целочисленный счетчик для элементов списка и GUID для списков).

Тем не менее, есть также функция, доступная на http://www.codeplex.com/features, которая называется «Политика уникальных столбцов» и предназначена для добавления другого столбца с уникальным значением. Полная запись доступна на http://scothillier.spaces.live.com/blog/cns!8F5DEA8AEA9E6FBB!293.entry

1 голос
/ 17 сентября 2008

Если вы хотите что-то помимо столбца ID, присутствующего во всех списках, вам, вероятно, придется прибегнуть к получателю событий в списке, который «вычисляет», каким должно быть значение вашего уникального идентификатора, или используя пользовательский тип поля с необходимой логикой. К сожалению, оба эти варианта потребуют написания и развертывания пользовательского кода на сервере и развертывания сборок в GAC, что может вызывать недовольство в средах, где у вас нет полного контроля над серверами.

Если вам не требуется, чтобы уникальный идентификатор отображался немедленно, вы, вероятно, можете сгенерировать его с помощью рабочего процесса (либо с помощью SharePoint Designer, либо с помощью специального рабочего процесса WF, встроенного в Visual Studio).

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

1 голос
/ 16 сентября 2008

это там по умолчанию. Это поле id.

0 голосов
/ 24 апреля 2009

У Петы лучшая идея, я сделал то же самое с пользовательским списком на нашем сайте SP. Использование рабочего процесса для автоматического увеличения является лучшим способом, и это не так сложно. Проверьте этот сайт: http://splittingshares.wordpress.com/2008/04/11/auto-increment-a-number-in-a-new-list-item/

Я высоко ценю человека, который разместил это решение, оно очень крутое !!

...