Столбец автоматического номера в списке SharePoint
в списке SharePoint мне нужен столбец auto number, который по мере добавления в список увеличивается. Как лучше всего я могу это сделать?
9 ответов
списки Sharepoint автоматически имеют столбец с "ID", который автоматически увеличивается. Вам просто нужно выбрать этот столбец на экране "изменить вид", чтобы просмотреть его.
вы не можете добавить новый уникальный автоматически сгенерированный идентификатор в список SharePoint, но он уже есть! Если вы измените представление "все элементы", вы увидите список столбцов, в которых не установлен флажок Отображать.
существует довольно много таких столбцов, которые существуют, но никогда не отображаются, например "создано" и "создано". Эти поля используются в SharePoint, но они не отображаются по умолчанию, чтобы не загромождать дисплей. Вы не можете редактировать эти поля, но вы можете отобразить их пользователю. если вы установите флажок "Отображать" рядом с полем ID, вы получите уникальное и автоматически сгенерированное поле ID, отображаемое в вашем списке.
Проверьте: уникальный идентификатор в списке SharePoint
Если вы хотите контролировать форматирование уникального идентификатора, вы можете создать свой собственный <FieldType>
в SharePoint. MSDN также имеет визуальный How-To. Это означает, что вы создаете пользовательский столбец.
WSS определяет тип поля счетчика (который используется столбцом ID выше). У меня никогда не было необходимости повторно использовать это или расширять его, но это должно быть возможно.
решение может существовать без создания пользовательского <FieldType>
. Например: если вам нужны уникальные идентификаторы, такие как CUST1, CUST2,... возможно, можно создать вычисляемый столбец и использовать значение столбца ID в Формуле (="CUST" & [ID]
). Я не пробовал этого, но это должны работы :)
У меня была эта проблема с пользовательским списком, и пока невозможно использовать автоматически сгенерированный ID столбец чтобы создать вычисляемый столбец, можно использовать рабочий процесс для выполнения тяжелой работы.
Я создал новую переменную рабочего процесса типа и установите его как значение ID
Если вы хотите что-то за пределами столбца ID, который есть во всех списках, вам, вероятно, придется прибегнуть к получателю событий в списке, который "вычисляет", каким должно быть значение вашего уникального идентифицированного или используя пользовательский тип поля, который имеет требуемую логику, встроенную в это. К сожалению, оба эти параметра потребуют написания и развертывания пользовательского кода на сервере и развертывания сборок в GAC, что может быть неодобрительно в средах, где у вас нет полный контроль над серверами.
Если вам не нужен уникальный идентификатор для немедленного отображения, вы можете создать его с помощью рабочего процесса (с помощью SharePoint Designer или пользовательского рабочего процесса WF, встроенного в Visual Studio).
к сожалению, вычисляемые столбцы, которые кажутся очевидным решением, не будут работать для этой цели, потому что идентификатор еще не назначен при попытке вычисления. Если вы войдете после факта и отредактируете элемент, расчет может достигайте того, чего хотите, но при первоначальном создании нового элемента он не будет рассчитан правильно.
Как указано, все объекты в sharepoint содержат какой-то уникальный идентификатор (часто целочисленный счетчик для элементов списка и GUID для списков).
тем не менее, есть также функция, доступная в http://www.codeplex.com/features называется "уникальная политика столбцов", предназначенная для добавления другого столбца с уникальным значением. Полная рецензия доступна на http://scothillier.spaces.live.com/blog/cns!8F5DEA8AEA9E6FBB!293.запись
поэтому я не уверен, что действительно могу думать о почему вам действительно понадобится идентификатор "уникального семейства сайтов", поэтому, возможно, вы можете прокомментировать и сообщить нам, что на самом деле пытается быть достигнуто здесь...
в любом случае, все элементы имеют свойство UniqueID, которое является GUID, если вы действительно нужно это: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.uniqueid.aspx
Peetha имеет лучшую идею, я сделал то же самое с пользовательским списком на нашем сайте SP. Использование рабочего процесса для автоматического приращения-лучший способ, и это не так сложно. Проверьте этот веб-сайт: http://splittingshares.wordpress.com/2008/04/11/auto-increment-a-number-in-a-new-list-item/
Я очень благодарен человеку, который разместил это решение, это очень круто!!