Hello,
I am using WebTab with several ContentTabItem. In my case, most of the tabs need to be refreshed after tab index changed, while there is quite a large amount of data to be loaded.
Under this condition, for a better user experience, I want to have the following behavior -- everything, including the tab contents and the tab index, is changed after the data is loaded completely, and at the same time letting the user know that the page is loading instead of doing nothing there.
I've tried the ways suggested in the following post: http://ko.infragistics.com/community/forums/t/71996.aspx . But both of them cannot do exactly what I expect.
1. Process SelectedIndexChanging event, cancel it, use internal method to change object-value of selected tab index and trigger a postback. Coming response will restructure/fix html.
problem: If I cancel the SelectedIndexChanging event, the loading animation will not come out. It will be a bad experience as sometimes the page will load for a couple of seconds and the user don't know if the page is loading or not.
2. Process SelectedIndexChanged event, hide content of new selected tab and show content of old tab. Coming response will restructure/fix html.Note: to get index of old selected tab, processing SelectedIndexChanged is needed.
problem: Users will see a blank tab and than the contents suddenly appear. It will be better if the tab index and the tabitem contents change at the same time.
Is there any suggestion about this problem?
Thanks.
Regards,
KC
Hello Martin,
I have modified the functions from your sample and it fits my case. Thank you for your help.
Hello KC,
I'm attaching a sample for your reference which follows the instruction explained in forum thread: http://ko.infragistics.com/community/forums/t/71996.aspx. The improvement in my sample is that it shows the loading indicator when a user is switching between tabs.
Let me known if this works for you.
Best regards,Martin PavlovInfragistics, Inc.
Our developers will be looking into this tomorrow and should have more information for you.
I am still discussing this with our developers for a better understanding of how to resolve this. I will keep you updated when I hear back from them.
Thank you for the update.
I am discussing this further with our developers to come to a better solution to this issue.
We will have another update for you by Monday.