Hi there,
Could anyone explain to me why my TreeDataGrid regenerates every single column for the row I click or toggle its collapse button? As I understand, Jmix/Vaadin marks these rows as ‘dirty’ and tries to repaint them, even if the values are the same and only the style changes. Am I wrong?
This logic is encapsulated deep inside Vaadin. I found the first reference to “dirty rows” in this method: com.vaadin.server.communication.UidWriter#write
. I tried to find any public API to access the DataCommunicators. The one that contains “dirty rows” is “HierarchicalDataCommunicator”. However, I failed to find a public API to access these communicators.
Is there any way to change this behavior? This greatly slows down my UI, especially when I use ComponentRenderer
in one of my columns. The more rows I have, the more time it takes for each repaint, making the UI look terrible for the user.
Jmix version: 1.3.5.