private void btnFind_Click(object sender, EventArgs e) { //set the oposing vaulues so that the opisit values are located. int iMaxT = -100; int iMinT = 100; int iHumy = 0; int iWindy = 0; string sSelectedCity = cmbCity2.SelectedItem.ToString(); string sStartDate, sEndDate; sStartDate = dStart.Value.ToString(); sEndDate = dEnd.Value.ToString(); FileHandler fh = new FileHandler("Forcast.csv"); List <string> lines = fh.ReadFromTXT(); List <Forcast> flist = new List <Forcast>(); MessageBox.Show(sSelectedCity); foreach (string block in lines) { string[] vs = block.Split(','); if (vs[0] == sSelectedCity) //Marker { string[] dSplit = vs[1].Split(' '); string[] x = dSplit[0].Split('/'); string[] dStartSplit = sStartDate.Split(' '); string[] s = dStartSplit[0].Split('/'); string[] dEndSplit = sEndDate.Split(' '); string[] y = dEndSplit[0].Split('/'); //What you are about to see is 15 lines of code in 1 line: Auther Jan De Jager 2019 //"Ben your killing me." ~ Jan De Jager 2019 //x[0] = Selected year, x[1] = Selected month, x[2] = Selected day //s[0] = Start year, s[1] = start month, s[2] = start day //e[0] = End Year, e[1] = End month, e[2] = End day if (!(((int.Parse(x[0]) <= int.Parse(s[0])) && (int.Parse(x[1]) <= int.Parse(s[1])) && (int.Parse(x[2]) <= int.Parse(s[2]))) || ((int.Parse(x[0]) >= int.Parse(y[0])) && (int.Parse(x[1]) >= int.Parse(y[1])) && (int.Parse(x[2]) >= int.Parse(y[2]))))) { flist.Add(new Forcast(vs[0], vs[1], int.Parse(vs[2].ToString()), int.Parse(vs[3].ToString()), vs[4], int.Parse(vs[5].ToString()), int.Parse(vs[6].ToString()))); //Add if (int.Parse(vs[2]) < iMinT) { iMinT = int.Parse(vs[2]); } if (int.Parse(vs[3]) > iMinT) { iMaxT = int.Parse(vs[3]); } if (int.Parse(vs[5]) > iMinT) { iHumy = int.Parse(vs[5]); } if (int.Parse(vs[6]) > iMinT) { iWindy = int.Parse(vs[6]); } } } } BindingSource bs = new BindingSource(); bs.DataSource = flist; dgv1.DataSource = bs; lblMinTemp.Text = iMinT.ToString(); lblMaxTemp.Text = iMaxT.ToString(); lblHumid.Text = iHumy.ToString(); lblmaxWindy.Text = iWindy.ToString(); }