Declined
Last Updated: 16 May 2019 10:45 by ADMIN
Samantha
Created on: 11 Apr 2019 14:32
Category:
Type: Bug Report
0
RadListView: visual glitch when scrolling if you have a margin applied to the visual items in DetailsView
Please run the attached sample project and follow the steps from the attached gif file to replicate the visual glitch.
4 comments
ADMIN
Dimitar
Posted on: 16 May 2019 10:45
Hello,

We consider the described behavior as incorrect, but we need to mention the visual glitch is a result of the customization of RadListView items. DetailListViewVisualItems have left margin applied, but group items do not have(the idea is to simulate hierarchy indent) and when ListView is scrolled, there is part of the control that is not repainted(on the left of DetailListViewVisualItems where the margin is applied) and this leads to visual glitches. 
To handle this custom scenario we need to repaint the control each time the scrollbar value is changed. This will lead to performance degradation, especially when there are many visual items on the screen. This is why our development team has decided to decline this bug report.

As already discussed, in such customization scenario you can use the following code to achieve desired behavior: 
this.radListView1.ListViewElement.ViewElement.Scroller.ScrollerUpdated += this.Scroller_ScrollerUpdated;
   
private void Scroller_ScrollerUpdated(object sender, EventArgs e)
{
    this.radListView1.ListViewElement.ViewElement.Invalidate();
}

Regards,
Dimitar
Progress Telerik
Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
ADMIN
Dess | Tech Support Engineer, Principal
Posted on: 16 Apr 2019 11:09
Hello, Samantha,     

The ListViewElement.ViewElement.VScrollBar.ValueChanged event does fire on my end with the initially provided sample project in this bug report. However, after further testing I have encountered on a very rare situations in which the view element is not refreshed properly. That is why I would recommend you to test the following approach and see how it works for your specific case: 

this.radListView1.ListViewElement.ViewElement.Scroller.ScrollerUpdated += this.Scroller_ScrollerUpdated;
 
private void Scroller_ScrollerUpdated(object sender, EventArgs e)
{
    this.radListView1.ListViewElement.ViewElement.Invalidate();
}

I hope this information helps. If you need any further assistance please don't hesitate to contact me. 

Regards,
Dess | Tech Support Engineer, Sr.
Progress Telerik
Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
Samantha
Posted on: 11 Apr 2019 14:52

Dess

This event does not get raised upon scrolling either, I'm just testing with a MessageBox to confirm that the event is actually getting called and it does not.

Thanks

Samantha 

ADMIN
Dess | Tech Support Engineer, Principal
Posted on: 11 Apr 2019 14:43
Hello, Samantha,    

Thank you for reporting this issue. 

I have also updated your Telerik points.

Currently, the possible solution that I can suggest is to detect when the vertical scrollbar is moved and synchronize the visual items: 

this.radListView1.ListViewElement.ViewElement.VScrollBar.ValueChanged+=VScrollBar_ValueChanged;

private void VScrollBar_ValueChanged(object sender, EventArgs e)
{
    this.radListView1.ListViewElement.SynchronizeVisualItems();
}

Have in mind that depending on how many items you have, invalidating the visual items while scrolling may affect performance.

I hope this information helps. If you need any further assistance please don't hesitate to contact me. 

Regards,
Dess | Tech Support Engineer, Sr.
Progress Telerik
Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.