This project has moved and is read-only. For the latest updates, please go here.

DataGridControl PageDn/PageUp doesn't work when there's a tall rows


I'm using a DataGridControl with a TableView. The row height can vary and sometimes rows can be taller than normal. This particular bug occurs if the total height of the row is higher than the next page would be.

What happens is that PageDn stops working and will not scroll to the next item. It appears to be rooted in TableViewItemsHost.HandlePageDownKey. It appears to be incorrectly calculating either the initialDesiredIndex or the focusContainerRealizedIndex and what's happening is these two values match and SetCurrent is never called.

Please let me know if you need me to put together a repro to demonstrate this.

file attachments


BoucherS wrote Mar 15, 2017 at 4:50 PM


In which version of the Toolkit is this bug happening ?
Was it present in earlier versions ?
Could you submit a sample so we can test the same code as you ?


Get more controls, features, updates and technical support with Xceed Toolkit Plus for WPF

wrote Mar 15, 2017 at 8:08 PM

theficus wrote Mar 15, 2017 at 8:08 PM

I've attached a simple repro program that demonstrates the issue. This is using the DataGridControl control that's include with the 3.0 version of the Extended WPF Toolkit. I haven't tried earlier versions to see if it repros there.

The WPF native DataGrid does not experience this issue with a similar configuration.

theficus wrote Mar 15, 2017 at 8:15 PM

It also appears that the issue repros in the sample program with Page Up. If you use Ctrl+End to scroll to the end of the DG then press Page Up note that it will not do anything.

wrote Mar 16, 2017 at 8:43 PM

theficus wrote Mar 27, 2017 at 4:11 AM

Just wondering if the repro was helpful and if there was any update on this?

BoucherS wrote Mar 27, 2017 at 1:34 PM


We take note of this bug.

You can use the scrollBar or resize the DataGridControl for now when there is rows to big.

We are using itemScrolling (not pixel scrolling) in TableView. We are not evaluating the height of each item on the next page to decide which item will be positioned on top of the next page. So we could be skipping items which would never appear.

We will need to modify the way it is done.

Get more controls, features, updates and technical support with Xceed Toolkit Plus for WPF