// Save all data in monthly obs grid private void SaveMonthChanges() { for (int i = 0; i < dgdMonthObs.Rows.Count; i++) { for (int j = 0; j < dgdMonthObs.Columns.Count; j++) { if (dgdMonthObs[j, i].Value == null || dgdMonthObs[j, i].Value.ToString() == "") { MessageBox.Show("Please fill in all blank spaces in the Monthly Observations data grid."); return; } } } Month[] allMonths = new Month[dgdMonthObs.Rows.Count]; try { for (int i = 0; i < dgdMonthObs.Rows.Count; i++) { string monthID = dgdMonthObs[0, i].Value.ToString(); string maxTemp = dgdMonthObs[1, i].Value.ToString(); string minTemp = dgdMonthObs[2, i].Value.ToString(); string numDaysAirFrost = dgdMonthObs[3, i].Value.ToString(); string millimetresOfRainfall = dgdMonthObs[4, i].Value.ToString(); string numHoursOfSunshine = dgdMonthObs[5, i].Value.ToString(); allMonths[i] = new Month(monthID, maxTemp, minTemp, numDaysAirFrost, millimetresOfRainfall, numHoursOfSunshine); } } catch (Exception ex) { MessageBox.Show(ex.Message + "\nNo changes to monthly observations were saved!"); return; } cm.SaveMonths(lstLocation.SelectedIndex, lstYear.SelectedIndex, allMonths); ChangeMonthlyObservationAccessiblity(true); MessageBox.Show("All changes to Monthly Observations successfully saved!"); }