В текущем проекте мне нужно реализовать пользовательскую бесконечную прокрутку, а это означает, что когда пользователь прокручивает страницу вниз, чтобы последняя строка стала хотя бы частично видимой, мне нужно загрузить еще один объем данных из базы данных.
Проблема состоит в том, чтобы определить, видна ли последняя строка или нет. Пока я придумал следующее решение:
gridView.TopRowChanged += GridView_TopRowChanged;
private void GridView_TopRowChanged(object sender, EventArgs e)
{
var rowVisibleState = gridView.IsRowVisible(gridView.DataRowCount - 1);
if (rowVisibleState == RowVisibleState.Visible
|| rowVisibleState == RowVisibleState.Partially)
{
LoadData();
}
}
Это отлично работает, пока я не сгруппирую данные по любому столбцу.
Как видно на картинке, прокрутка дошла до последней строки, но технически последняя строка все еще скрыта за заголовком группы.
Есть ли способ определить, достигла ли прокрутка нижней части независимо от того, сгруппированы данные или нет?