Need More Info
Last Updated: 03 Sep 2024 10:28 by ADMIN

I'm getting inconsistent behavior when testing a ComboBox with Virtualization enabled. I've tested with both the ASP.NET Core demo and the jQuery demo. The .NET demo defaults to version 2024.2.514 and the jQuery defaults to the current version (2024.3.806), however I've tested with several different versions in the jQuery demo and they all yielded the same results.

Note: if you're unable to recreate any of the problems below, try refreshing the demo page and trying again. When additional data is loaded into the list via Ajax requests (ex. after scrolling through the list), this can interfere with the tests below. Refreshing will ensure there is no additional data from Ajax requests and only the data that was initially loaded into the list (the first 80 results).

 

Königlich

If you copy/paste the value "Königlich" into the textbox, the list of options is displayed with a matching option listed first (everything is working as expected so far):

If you hit backspace, however, the list of options is updated and the first option no longer matches (at all):

If you hit backspace again, the list of options is updated again, and now the matching value is back:

Backspace again, matching option disappears and the bad one is back:

It alternates like this each time you hit backspace, bouncing between a good matching value and a bad one that seems completely unrelated.

 

Queen

If you enter "Q", the list opens and the first option listed matches:

Add a "u" and the first option is no longer the match. However, the matching option is listed halfway down the list. Note that with Königlich above, this was not the case (notice in the screenshots above the first option has a border around it; there was no option in the middle of the list with a border).

Add "ee" ("Quee") and you're left with no more matches:

However, if you open the list and scroll down to 10372, you'll find there is in fact an option for "Queen" available that the previous entry wasn't finding:

 

Bon app

If you enter "B", the first option listed is a match. If you add an "o" ("Bo"), you're left with no matches:

But if you scroll down to 10331, there's an option for "Bon app" listed that wasn't matched above:

 

Blauer See Delikatessen

Same as above. Entering "Bl" finds a match, but "Bla" does not. Open the list and scroll down to 10501 to see the option that should have matched.

 

Summary

There seem to be several issues here:

  1. Alternating between finding a matching value then finding a random value as each character is entered (most prevalent with Königlich).
  2. Some options cannot be found via filtering (ex. all but the first above). Not only is it not running Ajax requests to find matches in options that haven't been loaded yet, but it also doesn't appear to find matches in options that have already been loaded via Ajax.
  3. Matched option displayed in the wrong location (in most cases the match was displayed first in the list, but in one of the examples above it's in the middle of the list).