This thread looks to be a little on the old side and therefore may no longer be relevant. Please see if there is a newer thread on the subject and ensure you're using the most recent build of any software if your question regards a particular product.
This thread has been locked and is no longer accepting new posts, if you have a question regarding this topic please email us at support@mindscape.co.nz
|
As you can see in the attached video, Sometimes the grid is showing that there are children rows, but when I expand them, the "expand" arrow turns townward without showing the child row. This problem disappears if I reassign the ItemsSource of the grid. I which I were able to replicate this in a sample project. But I haven't been able to do that. What I can tell you is that this problem seems to happen while there are many new rows coming in in real time. "I think" that if the rate of new rows goes down the problem doesn't happen anymore. Sorry that I cannot be more specific... but perhaps you can guide me in the debugging process of this problem. I spend several hours trying to figure it out... but I ran out of ideas. Thanks, Nestor ps: Thanks for the incredible speed resolving my other posts! |
|
|
Hello Nestor I saw a similar issue today as I was working on the Expand and Collapse logic. I fixed this issue, but not sure if it will fix your issue too. Let me know if the issue is resolved or not in the next nightly build. I have not been able to reproduce your issue here, so a repro project would certainly help a lot. Jason Fauchelle |
|
|
OK... It took me a while to create a project that isolates this problem... but here it is. It's a fairly large project... as I wanted to mimic most of my production logic... but I hope it helps you debug the problem. I've also attached a video showing the steps to reproduce.
Note that if you don't touch the grid until the "Played:" counter at the bottom finishes playing back all the 806/806 data, then the expansion works beautifully. !? NOTE: I couldn't upload the project as an attachment, so here is the link to my google drive: link ps: of course let me know if the mock project needs clarification. Thanks! |
|
|
Hello Nestor Thanks for the fantastic repro project. I've been looking into this recently and have found roughly what the cause of the issue is. I'll continue working on this tomorrow to implement the solution. Jason Fauchelle |
|
|
Hello Nestor Thanks again for helping us track down this elusive issue. This issue has been resolved and will be available in the next nightly build. Jason Fauchelle |
|
|
Jason, You know your stuff! :-) You fixed the problem! Thank you! I spent months dealing in vain with one of your competitors (their name rimes with Syncfusionism), trying to get to where you got with just a few days of work. Great job. There are a few other minor issues I've noticed which I'll submit soon.. but this was a major one. Thank you! Nestor PS: you don't have to share this... but I'm curious what was the essence of the problem? |
|
|
Hello Nestor Thanks for this great feedback! I'm glad we've been able to quickly extinguish the issues you've found and add the features you needed. When a change is detected in the items source, parts of the underlying hierarchy model is destroyed and then rebuilt again with the new/changed items. Destroying the model includes removing a couple of event handlers such as the is-expanded handler. When these changes to the model are made, the visual is redrawn. To save performance, visual items that are already in the viewport don't need to be re-prepared unless necessary. That is to say cell/row templates don't need to be reapplied etc. This is how the bug was caused - the operation to map a row visual to the heirarchy node was unintentionally skipped in your scenario. So the row still had the old hierarchy node without the is-expanded handler. But if you were to scroll the viewport or change the items source, the items would be re-prepared and the expanding would work again. So to fix the bug I simply made sure this mapping operation is always performed when re-measuring a row. Also, you can be rest assured that this doesn't impact the performance. :) Jason Fauchelle |
|
|
Hey Jason, I noticed that the nodes seem to collapse if there are new rows coming in. Can you fix this? If this is not clear I can create a replicating project. Thanks, Nestor ps: being able to freeze the top row would make your grid just perfect... (I've already added that comment in the suggested features topic. |
|
|
Hello Nestor The hierarchy node collapsing bug will be fixed in the next nightly build. Frozen rows coming soon. Jason Fauchelle |
|
|
Hello Nestor The frozen rows feature will be available in the next nightly build. You can control this using the FrozenRowCount property. Jason Fauchelle |
|
|
Installed it. Seems to work great. Thanks. |
|
|
oh.... could it be that this broke again in one of your nightly builds after you fixed it the first time? See attached video. Thanks, Nestor |
|
|
Hello Nestor I have not been able to reproduce this at my end - even using you previous repro project. I don't think something has broken, this may be a scenario that has always been broken. Could you please send another repro project, or describe what can be done to reproduce this scenario. Jason Fauchelle |
|