numberz wrotePointswell, thanks.
But the items are ranges, meaning all of the Fishing Supplies will fall under item range of 101 through 400.
Hmm...
Your issue is that text will always sort 100 before 2. I do not see any way to fix that that is worth the amount of time effort and code to do so.
You could get away with a rangeStart numeric field. Ideally you'd want to have a rangeEnd as well.
I would probably structure it with 4 fields in total
rangeStart would take 101
rangeEnd would take 400
Description would be Fishing Supplies
displayDescription would be calculated and populated with a business rule
IF BO IS NEW OR (BO.rangeStart WAS CHANGED or BO.rangeEnd WAS CHANGED or BO.Description was CHANGED) THEN
BO.displayDescription = BO.rangeStart + ' - ' + BO.rangeEnd + ' - ' +BO.Description
This way your user is still typing the same amount of data, you will get your number range for sorting and you will have your description showing correctly.
This approach allows you to then error check that there isn't any overlap between your rangeStart and rangeEnd values which is again much harder to do with straight text fields. You will also be able to do other operations on the range numbers (in a process for example) more easily than if it is one large text field that has to be disassembled and the numbers manipulated back to numerics.