2

We have developed a form for our Knowledge Base on SharePoint 2013 however we would like it categorised by Hardware and Software.

Therefore if you select Hardware, a defined list of hardware choice based sub-categories would display.

The same would go for when choosing the Software category.

From what I can see where is no option to do this out of the box.

Any ideas how this can be done?

3

Well you can use Content Types within a list to achieve this..

Create site columns for Hardware and Software (Choice? Lookup? your choice).. than create two separate content types and add these columns and other site columns (the two content types can share some columns.. if there are any)..

Than go to List Settings -> Advanced Settings -> Allow management of content types -> YES

Than in List Settings -> Under Content Types -> Add existing site content types.. Add the two content types..

Now from Ribbon if you click on New Item drop-down, you should see both the content types and add items for both.. But they will be stored in a single list and you can create views based on Content Type column to see appropriate information..

2

The other answer on this question is definitely the simplest, most straightforward way to accomplish what you're trying to do. In a vacuum, I would absolutely suggest you use content types.

In the interest of ensuring the question is fully answered, there are two more ways we can accomplish cascading choices.

Use InfoPath
InfoPath forms are built for the express purpose of answering some of the issues associated with the flat nature of SharePoint list forms. You can add rules that dictate formatting on the form, such as "If RequestType =/= 'Hardware', hide HardwareQuestions" and vice versa for Software.

Upsides of InfoPath: hugely powerful, lots of features, super easy to pull in data from other lists/libraries/sites, etc.

Downsides of InfoPath: if you don't have Enterprise, then you can't use browser-enabled forms, which shifts the user to the InfoPath Form Filler (... I think? I know that's true in 2010, we haven't migrated to 2013 yet) which is kind of a crappy user experience, depending on the user. InfoPath can be a little too complicated sometimes, and if you're not sure what you're doing, working in the designer can be a little overwhelming.

Here's a really basic breakdown of InfoPath.

Use Javascript/jQuery
SPServices, by the right and honorable Marc Anderson, is a really popular and powerful jQuery library that can do this for you.

Here's a great post on how to do exactly what you're asking for.
And here's a whole series of all the great things you can do with SPServices.

Upsides of SPservices (or other jQuery): It's reasonably easy to implement if you know where to put the code. It's client-side, so if you don't have access to central administration, it's a pretty good solution.

Downsides: Unless, of course, you're not familiar or comfortable with implementing jQuery or javascript, then this probably isn't the solution for you. Moreover, SPServices, specifically, relies on SOAP and I believe SharePoint 2013 is emphasizing REST over SOAP. Also, since it's client-side stuff, YMMV and different clients do different things, etc.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.