Для школьного проекта я создал мини-программу для хранения информации об учениках в локальной базе данных SQL, затем вызвал их в программу на C # и заполнил их в WPF DataGridView.
Студентов много, поэтому, чтобы избежать задержки и сократить время просмотра, я должен вызывать по крайней мере только 10 студентов, например, в моей таблице данных каждый раз, когда пользователь нажимает кнопку Далее, пока весь список не закончится.
Я хотел, чтобы система нумерации страниц была действительно легкой и простой, поэтому я попробовал это в своем коде C #:
public int cut_Count = 10; // the number to cut each time
public int CurrentPageIndex { get; set; }
public void PaginationSystem(string buttonType) // this property just to tell if its Next or previous
{
var Db_ItemsCount = DBTables.DefaultView.Count; // getting how much items i have in my database
var Next = ((CurrentPageIndex + cut_Count) > Db_ItemsCount) ? CurrentPageIndex : CurrentPageIndex + cut_Count;
var Prev = ((CurrentPageIndex - cut_Count) < 0) ? CurrentPageIndex : CurrentPageIndex - cut_Count;
CurrentPageIndex = (buttonType == "next") ? Next : Prev;
// just to test the result :
MessageBox.Show(CurrentPageIndex.ToString());
}
//------------------------------------------------------
//----/ my Button Event /------------------------->>>>>
private void GoNextPage(object sender, RoutedEventArgs e)
{
PaginationSystem("next");
myDataGrid.Items.Refresh();
}
Мой запрос SQL:
Database_Open(@"SELECT * FROM User_Profile ORDER BY User_ID OFFSET "+ CurrentPageIndex + " ROWS FETCH NEXT "+ cut_Count + " ROWS ONLY;");
В результате, когда я нажимаюКнопка «Далее» в первый раз, когда она работает, но перестает обновляться после второй страницы .... Я застрял и не могу понять, почему в CurrentPageIndex
каждый раз, когда я нажимаю Next
, это не происходит, возможноребята, помощь от вас будет потрясающей.