在单击按钮时,您可以更新 x 和 y 值,但您永远不会重新执行数据库查询或更新表单上的数据。您需要获取下一个“页面”数据才能显示它。
首先,将数据库代码提取到方法中而不是在Load
event:
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);
...
...
}
}
然后在Load
事件设置您的初始值x
and y
值并加载数据:
private void Form1_Load(object sender, EventArgs e)
{
x = 0;
y = 20;
LoadData();
}
这应该加载数据的初始“页面”。那么想必您有一个用于分页的“下一页”和“上一页”按钮?每一个都会增加/减少x
and y
相应的值。像这样的事情:
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();
}
更进一步,您需要添加一些边界检查,以便人们无法单击最后一页上的“下一页”或第一页上的“上一页”。也许一些错误处理是个好主意。有很多方法可以完善这一点。但基本思想是,您需要重新查询数据库并将表单控件与每个页面重新绑定。