private async void dgItems_Scroll(object sender, ScrollEventArgs e) { if (e.OldValue < e.NewValue) { var visibleRowsCount = dgItems.DisplayedRowCount(true); var firstDisplayedRowIndex = dgItems.FirstDisplayedScrollingRowIndex; var lastvisibleRowIndex = (firstDisplayedRowIndex + visibleRowsCount); if (lastvisibleRowIndex >= RuntimeSettings.PageSize * page) { int x = dgItems.FirstDisplayedScrollingRowIndex; looper.Show(this); page++; //int nextPage = (int)Math.Ceiling((double)((double)dgItems.Rows.Count / (double)RuntimeSettings.PageSize)) + 1; bool _IsMore = await Keeper.GetMore(page); if (_IsMore) { source.ResetBindings(false); dgItems.FirstDisplayedScrollingRowIndex = x; looper.Hide(); } else { looper.Hide(); frmToast FrmToast = new frmToast(this, "Osiągnięto koniec rekordów"); FrmToast.Show(this); } dgItems.Select(); } } }