Вся информация. об этих событиях хранятся в базе данных; Таким образом, открыв соединение с базой данных my-sql, я могу получить все свои события.
Проблема в том, что я не знаю, сколько событий хранится в этой базе данных (поскольку в день у меня может быть 20 событий, а в другой У меня могло бы быть еще 40), и моя форма Form1 не может изменять свой размер в зависимости от количества событий.
Итак, мне нужно создать систему страниц, чтобы ограничить количество событий, печатаемых на каждой странице.
Поиск в Google, а также на этом сайте я вижу, что самый простой способ создания страниц на C# — это использовать DataGridView, но я не могу его использовать, потому что мне нужны ProgressBars, чтобы видеть, когда истечет срок действия события.
Итак, я подумал чтобы решить эту проблему, используя выбор предельных данных MySQL: SELECT * from EVENTS LIMIT x,y;где x и y — две переменные, и они изменяются с помощью нескольких кнопок; на кнопке 1 (первая страница) x и y будут 0 и 20, на кнопке 2 (вторая страница) x и y будут 20,40 и так далее..
но это не работает, поскольку x и y сбрасывается каждый раз, когда я обновляю форму 1.
Это всего лишь фрагмент кода, который поможет вам понять мой сценарий:
Код: Выделить всё
public partial class Form1 : Form
{
int x;
private void Form1_Load(object sender, EventArgs e)
{
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);
...
...
}
}
private void button1_Click(object sender, EventArgs e)
{
x=0;
y=20;
}
private void button2_Click(object sender, EventArgs e)
{
x=20;
y=40;
}
}
Подробнее здесь: https://stackoverflow.com/questions/321 ... hout-datag