Auto number column in SharePoint list
Asked Answered
F

9

30

In a SharePoint list I want an auto number column that as I add to the list gets incremented. How best can I go about this?

Frieda answered 16/9, 2008 at 13:58 Comment(2)
You can use JSOM to get the count of list items, then build your sequential number as you prefer.Apposition
OMG 12 years later, this is still a nightmare!Quartermaster
B
57

Sharepoint Lists automatically have an column with "ID" which auto increments. You simply need to select this column from the "modify view" screen to view it.

Bream answered 16/9, 2008 at 14:5 Comment(1)
Be aware that it is not possible to use the ID column in a calculated column if you are trying to e.g. start numbering from an offset or setting a custom prefix/suffix. It is possible to set a column value based on the ID column after the new item has been created, using a workflow that is triggered when an item is added to the list.Lampyrid
W
9

You can't add a new unique auto-generated ID to a SharePoint list, but there already is one there! If you edit the "All Items" view you will see a list of columns that do not have the display option checked.

There are quite a few of these columns that exist but that are never displayed, like "Created By" and "Created". These fields are used within SharePoint, but they are not displayed by default so as not to clutter up the display. You can't edit these fields, but you can display them to the user. if you check the "Display" box beside the ID field you will get a unique and auto-generated ID field displayed in your list.

Check out: Unique ID in SharePoint list

Whish answered 16/9, 2008 at 14:1 Comment(0)
F
5

If you want to control the formatting of the unique identifier you can create your own <FieldType> in SharePoint. MSDN also has a visual How-To. This basically means that you're creating a custom column.

WSS defines the Counter field type (which is what the ID column above is using). I've never had the need to re-use this or extend it, but it should be possible.

A solution might exist without creating a custom <FieldType>. For example: if you wanted unique IDs like CUST1, CUST2, ... it might be possible to create a Calculated column and use the value of the ID column in you formula (="CUST" & [ID]). I haven't tried this, but this should work :)

Fanfani answered 16/9, 2008 at 15:14 Comment(1)
This actually doesn't work. It throws following exception "The formula contains reference(s) to field(s). "Physical
L
4

I had this issue with a custom list and while it's not possible to use the auto-generated ID column to create a calculated column, it is possible to use a workflow to do the heavy lifting.

I created a new workflow variable of type Number and set it to be the value of the ID column in the current item. Then it's simply a matter of calculating the custom column value and setting it - in my case I just needed the numbering to begin at 100,000.

enter image description here

Lampyrid answered 18/4, 2013 at 23:6 Comment(0)
C
1

it's in there by default. It's the id field.

Chaworth answered 16/9, 2008 at 14:0 Comment(2)
I am unable to find this field to show up on my custom list?Steffie
I'm out right now, but I'll check it when I get back to my computerChaworth
B
1

If you want something beyond the ID column that's there in all lists, you're probably going to have to resort to an Event Receiver on the list that "calculates" what the value of your unique identified should be or using a custom field type that has the required logic embedded in this. Unfortunately, both of these options will require writing and deploying custom code to the server and deploying assemblies to the GAC, which can be frowned upon in environments where you don't have complete control over the servers.

If you don't need the unique identifier to show up immediately, you could probably generate it via a workflow (either with SharePoint Designer or a custom WF workflow built in Visual Studio).

Unfortunately, calculated columns, which seem like an obvious solution, won't work for this purpose because the ID is not yet assigned when the calculation is attempted. If you go in after the fact and edit the item, the calculation may achieve what you want, but on initial creation of a new item it will not be calculated correctly.

Barbellate answered 17/9, 2008 at 3:55 Comment(0)
T
1

As stated, all objects in sharepoint contain some sort of unique identifier (often an integer based counter for list items, and GUIDs for lists).

That said, there is also a feature available at http://www.codeplex.com/features called "Unique Column Policy", designed to add an other column with a unique value. A complete writeup is available at http://scothillier.spaces.live.com/blog/cns!8F5DEA8AEA9E6FBB!293.entry

Thermodynamic answered 17/9, 2008 at 13:37 Comment(0)
G
1

So I am not sure I can really think of why you would actually need a "site collection unique" id, so maybe you can comment and let us know what is actually trying to be accomplished here...

Either way, all items have a UniqueID property that is a GUID if you really need it: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.uniqueid.aspx

Gyratory answered 19/9, 2008 at 21:35 Comment(0)
W
0

Peetha has the best idea, I've done the same with a custom list in our SP site. Using a workflow to auto increment is the best way, and it is not that difficult. Check this website out: http://splittingshares.wordpress.com/2008/04/11/auto-increment-a-number-in-a-new-list-item/

I give much appreciation to the person who posted that solution, it is very cool!!

Wherefore answered 24/4, 2009 at 16:7 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.