 <p>I would recommend that you create another column in the database for arranging your items instead of using the OrderID - which is, I'm assuming here, may be used as a row identifier/ primary key for your database.</p> <p>I'll give you a scenario.</p> <p>Say you have the following items:</p> <ul> <li>Order ID 1- Orange</li> <li>Order ID 2 - Banana</li> <li>Order ID 3 - Apple</li> </ul> <p>And you have added another item:</p> <ul> <li>Order ID 4 - Grapes</li> </ul> <p>What if the user deletes Order ID 2 - Banana, and would want Order ID 4- Grapes to replace the deleted item in your list, how are you going to sort it by then? At least if you add another column, then you can preserve the sorting order for your items without touching your Order ID.</p> <p>On the other hand, if the Order ID is not the primary key for your table and you have a different primary key, then by all means use the Order ID as your sorting column. Make sure that you implement unique index for the sorting column so that it could enhance your db as well as application performance.</p> <p>To make your sorting a lot easier in .NET, you can use the classes in <a href="http://msdn.microsoft.com/en-us/library/system.collections.specialized.aspx" rel="nofollow noreferrer">System.Collections.Specialized Namespace</a> to sort your lists and want it for strongly-typed collections, i.e. Dictionary, OrderedDictionary, etc. because you will be using a key/value pair if you are implementing a sort order column.</p> <p>Hope this helps!</p>