private void TheadData() { DateTime startTime, EndTime; var selectedMeter = (dynamic)this.cbxFeeder.SelectedItem; if (rdo1st.Checked) { startTime = Convert.ToDateTime(dateTimePicker1.Value.ToString("yyyy-MM") + "-01 00:00:00"); EndTime = Convert.ToDateTime(dateTimePicker1.Value.ToString("yyyy-MM") + "-11 00:00:00"); } else if (rdo2sd.Checked) { startTime = Convert.ToDateTime(dateTimePicker1.Value.ToString("yyyy-MM") + "-11 00:00:00"); EndTime = Convert.ToDateTime(dateTimePicker1.Value.ToString("yyyy-MM") + "-21 00:00:00"); } else if (rdo3th.Checked) { startTime = Convert.ToDateTime(dateTimePicker1.Value.ToString("yyyy-MM") + "-21 00:00:00"); EndTime = Convert.ToDateTime(dateTimePicker1.Value.AddMonths(1).ToString("yyyy-MM") + "-01 00:00:00"); } else { return; } mtDemandSub1By1Hour = new tDemandSub1by1Hour(EditXml.strConnectionHistory); var value = mtDemandSub1By1Hour.GetData(selectedMeter, startTime, EndTime); int no = 0; foreach (var item in value) { string[] strRow = new string[] { no.ToString(), item.datetime.ToString("yyyy-MM-dd"), selectedMeter, item.Ipr.ToString(), item.Ips.ToString(), item.Ipt.ToString(), item.Ipn.ToString(), item.kWh.ToString() }; this.Invoke(new Action(() => { dataGridView1.Rows.Add(strRow); })); } }