public static void loadTimeslots(System.Windows.Forms.DataGridView dgv, DateTime startDay) { try { dgv.Rows.Clear(); DBConnection dBCon = DBConnection.Instance(); if (dBCon.IsConnect()) { DateTime day = startDay; List <string> available = new List <string>(); int i; string query = ""; MySqlCommand command; MySqlDataReader reader; DateTime headerDay = day; for (int j = 0; j < DaysInWeek; j++) { dgv.Columns[j].HeaderText = headerDay.ToString("dddd, MMM dd yyyy"); headerDay = headerDay.AddDays(1); } for (i = 8; i < 10; i++) { query = "SELECT et.available FROM employee_timeslot et JOIN timeslot t ON et.timeslot_id = t.timeslot_id WHERE t.timeslot_date BETWEEN '" + day.ToString("yyyy'-'MM'-'dd") + "' AND '" + day.AddDays(DaysInWeek).ToString("yyyy'-'MM'-'dd") + "' AND t.timeslot_start = '0" + i + ":00:00'"; command = new MySqlCommand(query, dBCon.Connection); reader = command.ExecuteReader(); while (reader.Read()) { available.Add(reader.GetInt16(0) != 0 ? "Available" : "Unavailable"); } dgv.Rows.Add(available.ToArray()); dgv.Rows[dgv.Rows.Count - 1].HeaderCell.Value = "0" + i + ":00:00"; available.Clear(); reader.Close(); } for (i = 10; i < 16; i++) { query = "SELECT a.available FROM employee_timeslot a JOIN timeslot b ON a.timeslot_id = b.timeslot_id WHERE b.timeslot_date BETWEEN '" + day.ToString("yyyy'-'MM'-'dd") + "' AND '" + day.AddDays(DaysInWeek).ToString("yyyy'-'MM'-'dd") + "' AND timeslot_start = '" + i + ":00:00'"; command = new MySqlCommand(query, dBCon.Connection); reader = command.ExecuteReader(); while (reader.Read()) { available.Add(reader.GetBoolean(0) ? "Available" : "Unavailable"); } dgv.Rows.Add(available.ToArray()); dgv.Rows[dgv.Rows.Count - 1].HeaderCell.Value = i + ":00:00"; available.Clear(); reader.Close(); } dgv.TopLeftHeaderCell.Value = "Times"; dgv.AutoResizeRowHeadersWidth(System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders); } } catch (Exception e) { System.Windows.Forms.MessageBox.Show(e.Message); } }