[bp:GridViewRowSelectColumn] Bugs when used with DataPager

There are some critical bugs in the bp:GridViewRowSelectColumn when used with a bp:DataPager.

Issue #1
When the user checks one or more items on a data page and then goes to a different page, one or more checked rows from the previous page are checked on the new page even though the user did not check them.

For example, if the 2nd row is checked on page 1 and then page 2 is loaded, the 2nd row will already be checked on page 2.

Expected behavior would be that no items would be checked on the following pages since those unique items were not selected by the user.

Issue #2

Given:

  • the total number of items in the grid does not divide equally across the total number of pages (i.e.: the last page has fewer items than all preceding pages)
  • there are 2 or more data pages

When a row is checked on any but the last page and then the last page is loaded, a JavaScript error is thrown and the entire GridViewRowSelectColum stops working. The page must be reloaded to resolve the issue.

When the user does not check any rows and goes to the last page and then checks one or more rows and then goes to any preceding page and back to the last page, the JavaScript error is thrown.

Here is a simple example page showing the above behavior for testing/proving the issues.

RowSelectionColumn.dothtml (3.7 KB)
RowSelectionColumnViewModel.cs (5.7 KB)

Issue #1861 has been created.