1
votes

I want to be able to filter a SharePoint list based on the values present (easy by clicking the filter button at the top of the list for each column). However I'd like to give options in a drop down menu and once chosen the list would be refilted based on the options I give. Is this possibile to do in the browser or would it require designer or actual code? Thank you.

1
Erm - isn't this exactly what the standard List View Web Part does? Whats different about your need and whats already provided?Ryan

1 Answers

2
votes

This is all SharePoint 2010 Enterprise Server knowledge; I've never used 2007.

What @Ryan is alluding to here is that you can click a down-arrow on most list columns to filter them. One caveat is that if the column is multi-select, it won't display a drop-down. (SharePoint doesn't know how to group, filter, or sort on multi-select columns.) Another caveat could be that if you're displaying the list items in such a way that their headings don't appear (such as in a List View web part, or maybe in some of the styles...) you obviously won't be able to filter.

A solution might be to use a "SharePoint List Filter" web part, which uses a list column as the source for filter values which can then be sent to other web parts -- such as a List View web part. Presumably, you could use the list you're intending to filter as a source for the Filter web part itself. From a UX perspective maybe this might help you display the list with different styling, but still get the drop-down filter directly in the content area.

A caveat with the "SharePoint List Filter" web part is that it's not actually a drop-down per se, but instead shows a little filter icon that pops up a dialog in which users then have to select a value.

Note there's also the "Managed Metadata Navigation" feature that would give users dropdowns (for e.g. choice columns) and metadata filter fields (for managed metadata columns). These show up in the Quick Launch (left-nav area) if configured on the list/library settings. The feature must first be enabled on the site.