Dalam klik tombol Anda, Anda memperbarui nilai x dan y, tetapi Anda tidak pernah menjalankan ulang kueri database atau memperbarui data pada formulir. Anda perlu mengambil "halaman" data berikutnya untuk menampilkannya.
Pertama, ekstrak kode database Anda ke dalam metode, bukan di Load
acara:
private void LoadData()
{
server = "localhost";
database = "app";
uid = "root";
password = "root";
string connectionString;
connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
connection = new MySqlConnection(connectionString);
if (this.OpenConnection() == true)
{
string query = "SELECT * from EVENTS LIMIT"+ x +","+ y +";";
mySqlDataAdapter = new MySqlDataAdapter(query , connection);
...
...
}
}
Kemudian di bagian Load
acara setel x
initial awal Anda dan y
nilai dan memuat data:
private void Form1_Load(object sender, EventArgs e)
{
x = 0;
y = 20;
LoadData();
}
Ini harus memuat "halaman" awal data. Maka mungkin Anda memiliki tombol "berikutnya" dan "sebelumnya" untuk paging? Masing-masing akan menambah/mengurangi x
dan y
nilai-nilai yang sesuai. Sesuatu seperti ini:
private void nextButton_Click(object sender, EventArgs e)
{
x += 20;
y += 20;
LoadData();
}
private void previousButton_Click(object sender, EventArgs e)
{
x -= 20;
y -= 20;
LoadData();
}
Lebih jauh, Anda akan ingin menambahkan beberapa pemeriksaan batas sehingga orang tidak dapat mengklik "berikutnya" di halaman terakhir atau "sebelumnya" di halaman pertama. Mungkin beberapa penanganan kesalahan akan menjadi ide yang bagus. Ada banyak cara untuk memoles ini. Tetapi ide dasarnya adalah Anda perlu membuat kueri ulang database dan mengikat kembali kontrol formulir dengan setiap halaman.