Labels (instances of the LightTextBlock control) remain on the render surface after the ItemsSource is replaced dynamically and the row or column count is changed. As a workaround, the control can be redrawn manually to clear the surface:
var temp = heatmapTest.Template; heatmapTest.Template = null; heatmapTest.Template = temp;
I'm using a "Custom Heat Map Source" as described here:
Upon initialization, I fill in the color of all the cells with a default color.
Later, as data comes in, I update the color of individual cells.
It seems that the only way to refresh the Definition so that it will display the newly set cell color is to do the following:
HeatMapDefinition.SelectedItems = new Collection<object>();
After that, the Definition updates itself by calling method "CustomHeatMapDefinition::GetColor()" on each and every cell (which of course gets delegated to the "CustomHeatMapSource" implementation.
This could lead to performance problems on large Heat-Maps.
So my request is that there is a feature allowing the updating of individual cell-data and a refresh mechanism that would not query each heat-map cell afterwards, but only the updated cells.
I have discussed this in a support request (https://www.telerik.com/account/support-tickets/view-ticket/1464531) with Dinko and he suggested I request this feature.
With the heatmap, it would be a useful option to be able to distinguish the order that columns and rows are presented. Currently it is one or the other, and seemingly only as per the row or column field is encountered during the rendering of the heatmap
The labels are not positioned correctly when some of the cells are empty. Available in LIB version: 2016.1.314