I have a number of grids I am presenting with anywhere from 600+ records to over 15,000+ records. I am using server-side processing to speed up the loading of the grids and that works really well.
Where I am running into a challenge is the user experience when they use the built-in filter function. A lot of this is because it starts filtering as soon as a user starts typing. I have found for myself (I can type fast) that I can type around five characters on a normal basis and the filter will work. I have other users, though, who are having a lot more challenges. For example, if they are looking for “smith”, they will type the “s” (and the filter starts working) and they keep typing the “m” (which now overrides the “s” and just does a search on “m” - again with a bit of slowness as it filters). Eventually, by the time they get to the “h”, it will only complete a filter on the letter “h” and not provide the results they want. (Clearing the filter also usually requires selecting the entire text and deleting it before starting a new search. It definitely takes training to get users used to it and I get a ton of complaints.)
Ideally, I would love to build in a small delay (like 5 seconds) before it starts filtering. I think this would provide a much better user experience and be a lot less frustrating for users. To compensate for some of the pain points on this, I have created some search dialogs that feed to some other grids, but I also want to continue to provide some grids that give the user the ability to do a bit more browsing (in case they aren’t sure how to spell someone’s name).
What have others done on large grids to help with these types of filtering issues? Are there other choices I may be missing to help with this?
Thanks for any ideas.