I'm looking for a way for the pivot control (respectively the OlapViewModel) to preload all members of a hierarchy. I've just written my own function that loops recursively through all members and calls the OlapViewModel's "FillMembers"-function, but that takes way too long for larger hierarchies.
Is there maybe a built-in functionality to let the class preload all the members?
BR,
Tristan
Hello Tris,
Could you specify the library version you have used?
For the sample IDataProvider.LoadMembersAsync(ICube, IHierarchy) is used as it loads the whole hierarchy as make only one call to the server. When you have LoadFilterMembersCompleted fired with e.UserState of type IHierarchy that means the whole filter members’ hierarchy of IFIlterViewModel is already loaded. After this point expanding a filter member should not make further calls to the server.
Regards.Plamen
Hey Petar,
Thank you for your reply. Your approach looks pretty similar to mine, excapt that you are using a FilterViewMode and I'm using the OlapViewModels Members directly. The problem is that expanding only one member takes about 0.25 seconds (in both our samples). So preloading a hierarchy with many thousand of nodes takes way too long! If the control built the whole hierarchy from one query, it could be done in a few seconds!
Additionally, I noticed that loading members that have already been loaded takes the same time! Isn't the control caching members it already needed to load?
Hello,
I have been looking into your requirement and there is no built-in functionality that does that, however here is another custom approach that you can try out. I have put it in a small sample project for you (Pivot_Analysis.zip) and in order to preload the members a FilterViewModel is manually created in code and its LoadMemebersAsynv method is used before being added to the Rows collection. If you want I can also submit a new Product Idea on your behalf so that such functionality may appear in a future volume release of ours.
Please let me know if you require any further assistance on the matter.
Btw:
- I'm also looking for a way to preload all availible FilterMembers in the related FilterViewModel
- How to trigger the "OK" Button from within the viewmodel. It uses the Commanding.Command OK event .