using MySql.Data.MySqlClient; using System.Data; using System.Windows.Forms; using System; namespace WindowsFormsApp2 { public partial class Client : Form { string connectionString = "Server=85.239.57.125; Database=Gavrilov_Aksenov_exam; Uid=ISP41_Gavrilov; Pwd=ISP41_Gavrilov;"; public Client() { InitializeComponent(); LoadOrders(); textBoxSearch.TextChanged += TextBoxSearch_TextChanged; comboBoxFilter.SelectedIndexChanged += ComboBoxFilter_SelectedIndexChanged; comboBoxSort.SelectedIndexChanged += ComboBoxSort_SelectedIndexChanged; } void LoadOrders() { using (MySqlConnection conn = new MySqlConnection(connectionString)) { conn.Open(); string query = "SELECT o.order_number as 'Номер', s.name as 'Статус', o.pickup_address as 'Адрес', o.order_date as 'Дата заказа', o.delivery_date as 'Дата доставки' FROM orders o JOIN users u ON o.user_id = u.id JOIN status s ON o.status = s.idstatus"; MySqlDataAdapter adapter = new MySqlDataAdapter(query, conn); DataTable dt = new DataTable(); adapter.Fill(dt); dataGridView1.DataSource = dt; } } void TextBoxSearch_TextChanged(object sender, EventArgs e) { FilterAndSort(); } void ComboBoxFilter_SelectedIndexChanged(object sender, EventArgs e) { FilterAndSort(); } void ComboBoxSort_SelectedIndexChanged(object sender, EventArgs e) { FilterAndSort(); } void FilterAndSort() { string search = textBoxSearch.Text; string filter = comboBoxFilter.Text; string sort = comboBoxSort.Text; string query = "SELECT o.order_number as 'Номер', s.name as 'Статус', o.pickup_address as 'Адрес', o.order_date as 'Дата заказа', o.delivery_date as 'Дата доставки' FROM orders o JOIN users u ON o.user_id = u.id JOIN status s ON o.status = s.idstatus WHERE 1=1"; if (!string.IsNullOrEmpty(search)) { if (filter == "По номеру") { query += " AND o.order_number LIKE '%" + search + "%'"; } else if (filter == "По статусу") { query += " AND s.name LIKE '%" + search + "%'"; } else if (filter == "По дате") { query += " AND (o.order_date LIKE '%" + search + "%' OR o.delivery_date LIKE '%" + search + "%')"; } else { query += " AND (o.order_number LIKE '%" + search + "%' OR s.name LIKE '%" + search + "%' OR o.pickup_address LIKE '%" + search + "%')"; } } if (sort == "По дате новые") { query += " ORDER BY o.order_date DESC"; } else if (sort == "По дате старые") { query += " ORDER BY o.order_date ASC"; } else if (sort == "По статусу") { query += " ORDER BY s.name ASC"; } using (MySqlConnection conn = new MySqlConnection(connectionString)) { conn.Open(); MySqlCommand cmd = new MySqlCommand(query, conn); MySqlDataAdapter adapter = new MySqlDataAdapter(cmd); DataTable dt = new DataTable(); adapter.Fill(dt); dataGridView1.DataSource = dt; } } private void button1_Click(object sender, EventArgs e) { Author form1 = new Author(); form1.Show(); this.Hide(); } } }