Hello Support,
I have been testing the Blazor AutoComplete and DropDownList components with Virtualization enabled as these components will be populated by a large dataset. I have found that using the mouse to scroll down the list of items triggers another request to DataAdaptor.Read once I reach the last item. Thus I can continue scrolling to the next batch of data.
However, when using the down arrow or page down keys, nothing happens when I reach the last item in the popup. Could you please advise how to trigger a call to DataAdaptor.Read using the keyboard?
Thanks,
Chuck
Hi Deepak,
Thank you for your reply. However, I AM using 19.3.54. To be clear if I scroll using the mouse to drag the thumb of the scrollbar then infinite scroll works as expected in that the next batch of records is correctly retrieved via a call to DataAdaptor.Read
However, as you can see below, if I use the down arrow to scroll to the end of the list of items, the scrollbar thumb moves all the way to the bottom and no call to DataAdaptor.Read is triggered:
If you have this working could you please provide a working example?
Note: this works as expected in the "Example of Virtualization in Blazor AutoComplete Component" on the demo site but this is not using a custom DataAdaptor to obtain the data.
Thanks,
Chuck
|
|
|
|
Hello Deepak,
I received notification that this bug has been fixed and have applied the new Nuget package and can see the fix is indeed in place for the keyboard navigation. This is great news.
However, while testing the fix I noticed another issue. As you scroll down the list of popup items and trigger more and more calls to DataAdaptor.ReadAsync the DataManagerRequest dm property for Skip remains at 0 and the Take property increases by 5 each time. As in:
Skip: 0, Take: 20
Skip: 0, Take: 25
Skip: 0, Take: 30
This means that as you scroll further down the list the number of records being retrieved from the backend continues to grow. I would expect the component to only request the incremental data it requires. As in:
Skip: 0, Take: 20
Skip: 20, Take: 5
Skip: 25, Take 5
Is it possible to get the AutoComplete component to retrieve the data incrementally?
Also, is it possible to configure how many more records it requests every time it triggers a ReadAsync call?
Furthermore, I have found an even more significant problem. If I hook up to the OnActionComplete event, then the component never asks for more than 25 records. To reproduce this, add the following to the sample that was provided with the bug fix:
<AutoCompleteEvents TValue="string" TItem="Order"
OnActionComplete="@ActionCompleteHandler">
</AutoCompleteEvents>
protected void ActionCompleteHandler(ActionCompleteEventArgs
{
System.Console.WriteLine("ActionCompleteHandler");
}
Upon scrolling with the mouse or keyboard, the ReadAsync call asks for Skip: 0, Take: 20 then Skip: 0, Take 25 but never increases beyond 25.
Thanks,
Chuck
Hi Deepak,
Thank you for the link to the feature request.
However, as per my updated post, the more fundamental issue is that the component never increases the Take parameter beyond 25 if you hook into the OnActionComplete event.
This is a major issue with the component. Please advise when this will be fixed?
Thanks,
Chuck
|
|
Hello Support,
Runnable application attached. If you enter "1" in the dropdown and then use the mouse OR keyboard to scroll then you will see that the Take property never increases beyond 25.
Thanks,
Chuck
To be clear, the only difference between the sample I uploaded and that which you originally provided is that I added a handler for OnActionComplete with the following code:
<AutoCompleteEvents TValue="string" TItem="Order"
OnActionComplete="@ActionCompleteHandler">
</AutoCompleteEvents>
protected void ActionCompleteHandler(ActionCompleteEventArgs
{
System.Console.WriteLine("ActionCompleteHandler");
}
Hello Deepak,
Could you please provide an update on this issue?
Thanks,
Chuck
Thanks for this information!
Hello Sureshkumar,
I note this issue has been logged under bug report 31723 but still hasn't been fixed despite you indicating it would be on 25th January. It is blocking us from using the AutoComplete component for the use case we have.
When is 31723 scheduled to be fixed?
Thanks,
Chuck
Hi Chuck,
Regret for the inconvenience caused.
Due to some complexities, we could not include the fix in this week's patch release. We will include it in the upcoming patch release which is expected to be rolled out on mid of February, 2022. We appreciate your patience until then.
You can track the status of this issue from the below feedback.
Feedback: https://www.syncfusion.com/feedback/31723
Regards,
Dineshkumar A.
Hi Dineshkumar,
Thanks for the update. I have upgraded to 19.4.50 and can see that the issue is partially fixed. If I use the down arrow when at the end of the list of visible items the dropdown behaves as I would expect and fetches an incremental 5 records and continues to scroll down the list of items.
However, if I hold the down arrow down to scroll rapidly through the items not yet fetched then randomly the dropdown reverts back to the first row and continues scrolling from there. It is even more obvious if I use the page down key to navigate past the list of displayed items. Even without holding the page down key down the dropdown cycles back to the top of the items in the list every time I press page down when at the bottom of the current list of items.
So, although the data is at least now being fetched beyond the first 5 records, the dropdown is still not behaving as it should.
Thanks,
Chuck
Hi Sureshkumar,
I have upgraded to 19.4.56 and can confirm that the keyboard navigation of the virtualised dropdown is now working as expected.
Thanks,
Chuck