используя SQL и c # DataGridView, как я мог бы создать систему подкачки Lighter возможно - PullRequest
0 голосов
/ 10 июля 2019

Для школьного проекта я создал мини-программу для хранения информации об учениках в локальной базе данных 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, это не происходит, возможноребята, помощь от вас будет потрясающей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...