3

Long time reader, first time poster...

I have found many of the best solutions for my problems here, so thank you for all your hard work!

I have been trying to get this problem figured out for few weeks now with no success. I have a large SharePoint list that I need to filter and cannot find a good solution, and I have tried many! I'll get to the trial and error session in a minute. The request from my users is to be able to filter the list using multiple drop downs. Each of those drop downs can be picked in any order, so a traditional cascade filter such as "Country" --> "State" --> "City" is not applicable in this case. As stated earlier, the list is a rather large, a few thousand items, and the drop downs need to be populated from the list itself. Filtering from those drop downs should apply to entire list, not just the visible items. The total number of drop down filters is near 15.

So yes you can do all of this in the standard list view web part, but the number of columns is large and scrolling from left to right to get to the data that you looking for is not efficient. So the request is show only 6 columns in the list and then have the filters (15) in a column next to the list so that you can get to the items that you are looking for quickly without scrolling. I have been able to achieve this easily in Access, but seems to be almost impossible for me to find anything that I can use to get this to work. I have tried the following solutions without success:

InfoPath: There is no way that I have found to send wildcard data to the list, so if the drop down is blank, that is what is sent to the DVWP and rendered on the page. It does not show all the items in those columns as desired.

jQuery Datatables: Tried this and looks promising, but the filtering has to be either on top of the list or below and basically all the columns need to be visible to get the filtering to work. Again does not meet the request.

Data view web part Grouping Toolbar: I thought that this would have been the ticket, but from what I can see you can only use one of the filters at a time, where I need to use many.

jQuery Cascade drop down: I have looked into this but my javascript is rather weak and not sure how to pull it off with this many filters.

jQuery filtered drop down using list ID and view ID: I have tried this solution and it works, but it is agonizingly slow, but works the way I want it to. It is the only solution that hits the mark so far, but is the least efficient. Providing Filter Dropdowns for a SharePoint List/Library with jQuery

Any suggestions or leads would be most appreciated as I am lost as to where to go from here.

2 Answers 2

3

One way to deal with the issue is by utilizing the content by search and filters/refiners. You can also create a result source which retrieves the indexed results from the specified list. If your columns in a list were created as a site column, it will automatically have crawled properties. You can use 'RefinableString' property and map your indexed crawled properties and use them as filters/refiners.

You can use display templates to format the search results as table/grid. Scott Hillier has an excellent article describing how to do this. https://www.itunity.com/blog/displaying-sharepoint-2013-search-results-table-877 In addition to tabular format results, you can also integrate jQuery dataTable.

3
  • Thank you for your help, I have really looked hard at the DataTables solution and with a little more persistence I am getting closer to what I am trying to achieve, but I have hit a few snags. I have been to get text input boxes into another HTML table, which is a good start, but I need those to turn into select dropdowns populated from the table. Any advice on how to get that done?
    – Chris
    Jan 28, 2016 at 18:45
  • 1
    Take a look at this article: kalashnikovtechnoblogs.blogspot.com/2015/09/… . For the data already existing in the table you should be able to turn those as dropdown filters. For dynamic data, it may want to further enhance your dataTable plugin and redraw the table on callbacks.
    – Aveenav
    Jan 29, 2016 at 1:33
  • Thank you again!!!! This is EXACTLY WHY I read this forum!!! The people here are very knowledgeable and are willing to help! Your link is exactly what I have been searching for over a month to find! The one last piece of the puzzle is to have the dropdowns dependent on each other. So if you select one dropdown the other dropdowns are then limited by that selection. A little trickier, but achievable. Any ideas on that type of solution?? I see that YADCF can do it but it's for the filters in the header and footer of the datatables tables.
    – Chris
    Feb 1, 2016 at 11:34
0

The best way to achieve this is "Filter WebParts" but you need to some JavaScript custom coding as well. First Get all the values from your input Drop-downs and modify the url by applying filtered link which are specially works for SharePoint filter webparts.

to filter web part links looks like : /AllItems.aspx?FilterField1=Filter_Column_Name&FilterValue1=Value_Needs_To_Filter

1
  • Thank you for your help, but I have tried this approach and it is really slow. The link in my original post shows this technique. If you know of a way to make it faster, by all means let me know.
    – Chris
    Jan 28, 2016 at 18:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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