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