private void comMeterid_SelectedValueChanged(object sender, EventArgs e) { if (FirstShowForm == false) { alu_tp.main_1.MeterIDNo = comMeterid.SelectedValue.ToString(); } if (alu_tp.main_1.MeterIDNo.ToLower() != "system.data.datarowview") { MainModule.SettingInitUserData(); loadData(); } }
private void getcomMeterid() { comMeterid.Items.Clear(); comMeterid.DataSource = MainModule.GetMeteridWithUser(); comMeterid.DisplayMember = "miduid"; comMeterid.ValueMember = "mid"; comMeterid.SelectedValue = alu_tp.main_1.MeterIDNo; //if(alu_tp.main_1.MeterIDNo != "") //comMeterid.SelectedIndex = comMeterid.FindStringExact(alu_tp.main_1.MeterIDNo); }
public static void get_time_set() { System.Data.DataView dv1; dv1 = MainModule.AccessDatabasesel("SELECT * FROM time_set where user_idx=0 order by idx"); alu_tp.timgp = new time_gp[dv1.Count]; int t1; for (t1 = 0; t1 < dv1.Count; t1++) { alu_tp.timgp[t1] = new time_gp(); alu_tp.timgp[t1].time_name = dv1[t1].Row["time_name"].ToString(); alu_tp.timgp[t1].time_on = dv1[t1].Row["time_on"].ToString(); alu_tp.timgp[t1].time_off = dv1[t1].Row["time_off"].ToString(); alu_tp.timgp[t1].on_off = dv1[t1].Row["on_off"].ToString(); alu_tp.timgp[t1].time_name = dv1[t1].Row["time_name"].ToString(); } // return "OK"; }
private void loadData() { lblMeterid2.Text = alu_tp.main_1.MeterIDNo.ToString(); MainModule.insertDatabasesel(" INSERT INTO [ho_user] (UserNo,UserName) VALUES ( '" + lblUserID.Text + "','" + lblName.Text + "')"); /* * DataView dv1 = new DataView(); * dv1 = MainModule.AccessDatabasesel("SELECT * FROM HmdRegister where mid='" + lblMeterid2.Text + "'"); * //127.053.618-47 * if (dv1 != null) * { * if (dv1.Count > 0) * { * txtUserID.Text = dv1[0]["id"].ToString(); * oldtxtUserID = dv1[0]["id"].ToString(); * } * } */ }
private void loadData() { //* 2015.01.21 denny this.dataGridView1.Columns[0].HeaderText = "Date"; //DataView dv = MainModule.SetGlucoseToTimeSet(); 2015.01.21 denny DataView dv = MainModule.AccessDatabasesel("SELECT * FROM glucose where MeterID='" + alu_tp.main_1.MeterIDNo + "' ORDER BY TestTime DESC"); //this.dataGridView1.DataSource = dv; // 2015.01.21 denny //*/ //*/ 2015.01.21 denny if (alu_tp.timgp.Length > 0) { for (int jj = 0; jj < alu_tp.timgp.Length; jj++) { int colindex; //Label LB1 = new Label();// 2015.01.22 denny //LB1.Text = alu_tp.timgp[jj].time_on + "\n" + alu_tp.timgp[jj].time_off;// 2015.01.22 denny colindex = jj + 2; //((GridView)sender).HeaderRow.Cells[2].Text = LB1.Text; //((GridView)sender).HeaderRow.Cells[jj + 2].Controls.Add(LB1); this.dataGridView1.ColumnCount = colindex + 1; this.dataGridView1.Columns[colindex].HeaderText = alu_tp.timgp[jj].time_on + "\n" + alu_tp.timgp[jj].time_off;// 2015.01.22 denny // e.Row.Cells.Item(17).Controls.Add(LB1) } } //*/ this.dataGridView1.Location = new Point(this.dataGridView1.Location.X, 25); for (int rowindex = 0; rowindex < dv.Count; rowindex++) { this.dataGridView1.RowCount = rowindex + 1; this.dataGridView1.Rows[rowindex].Cells[0].Value = Convert.ToDateTime(dv.Table.Rows[rowindex].ItemArray[dv.Table.Columns.IndexOf("TestTime")]).DayOfWeek; this.dataGridView1.Rows[rowindex].Cells[1].Value = DateTime.Parse(dv.Table.Rows[rowindex].ItemArray[dv.Table.Columns.IndexOf("TestTime")].ToString()).ToString("yyyy-MM-dd HH:mm:ss"); this.dataGridView1.Rows[rowindex].Cells[((int)dv.Table.Rows[rowindex].ItemArray[dv.Table.Columns.IndexOf("TIME_IDX")] - 1) + 2].Value = (int)dv.Table.Rows[rowindex].ItemArray[dv.Table.Columns.IndexOf("GlucoseData")]; } }
public static void SettingInitUserData() { System.Data.DataView dv1; dv1 = MainModule.AccessDatabasesel("SELECT * FROM HmdRegister where mid='" + alu_tp.main_1.MeterIDNo + "'"); if (dv1 != null) { if (dv1.Count > 0) { alu_tp.main_1.FileName = dv1[0].Row["idx"].ToString(); alu_tp.main_1.ReportName = dv1[0].Row["id"].ToString(); alu_tp.main_1.MeterIDNo = dv1[0].Row["mid"].ToString(); alu_tp.main_1.CPortOption = 1; alu_tp.main_1.serialPort1 = new SerialPort(); alu_tp.main_1.serialPort1.PortName = Convert.ToString(dv1[0].Row["RS_232"]); alu_tp.main_1.UnitOption = Convert.ToInt16(dv1[0].Row["Unit1"]); alu_tp.main_1.TimeOption = Convert.ToInt16(dv1[0].Row["Time1"]); alu_tp.main_1.TargetMaxOption = Convert.ToInt16(dv1[0].Row["Max1"]); alu_tp.main_1.TargetMinOption = Convert.ToInt16(dv1[0].Row["Min1"]); alu_tp.main_1.TargetMaxOptionp = Convert.ToInt16(dv1[0].Row["Maxp"]); alu_tp.main_1.TargetMinOptionp = Convert.ToInt16(dv1[0].Row["Minp"]); } } }
private void loadData() { comm_list[] send_comm = new comm_list[21]; Series[] DataSeries = new Series[21]; Series[] series3 = new Series[21]; Series BoxPlotSeries = new Series(); System.Data.DataView dv; System.Data.DataView dv_order_desc; // 2015.02.06 denny dv = MainModule.AccessDatabasesel("SELECT top 1 format(TestTime, 'YYYY-MM-DD') as tt01 FROM glucose where MeterID='" + alu_tp.main_1.MeterIDNo + "' order by TestTime DESC"); if (dv.Count > 0) { DateTime setdate = Convert.ToDateTime(dv[0].Row["tt01"]).AddDays(-21); //dv = MainModule.AccessDatabasesel("SELECT top 21 format(gl.TestTime, 'YYYY-MM-DD') AS TestT, MAX(iif(isnull(a.GD0), 0, CDBL(a.GD0))) AS Expr1, MAX(iif(isnull(a_1.GD1), 0, CDBL(a_1.GD1))) AS Expr2, " + // " MAX(iif(isnull(a_2.GD2), 0, CDBL(a_2.GD2))) AS Expr3, MAX(iif(isnull(a_3.GD3), 0, CDBL(a_3.GD3))) AS Expr4, MAX(iif(isnull(a_4.GD4), 0, CDBL(a_4.GD4))) " + // " AS Expr5, MAX(iif(isnull(a_5.GD5), 0, CDBL(a_5.GD5))) AS Expr6, MAX(iif(isnull(a_6.GD6), 0, CDBL(a_6.GD6))) AS Expr7, MAX(iif(isnull(a_7.GD7), " + // " 0, CDBL(a_7.GD7))) AS Expr8, MAX(iif(isnull(a_8.GD8), 0, CDBL(a_8.GD8))) " + // " AS Expr9 FROM (((((((((glucose gl LEFT OUTER JOIN " + // " (SELECT GlucoseData AS GD0, format(TestTime, 'YYYY-MM-DD') AS TT0 FROM glucose gl_1 " + // " WHERE (TIME_IDX = 1)) a ON a.TT0 = format(gl.TestTime, 'YYYY-MM-DD')) LEFT OUTER JOIN " + // " (SELECT GlucoseData AS GD1, format(TestTime, 'YYYY-MM-DD') AS TT1 FROM glucose gl_2 " + // " WHERE (TIME_IDX = 2)) a_1 ON a_1.TT1 = format(gl.TestTime, 'YYYY-MM-DD')) LEFT OUTER JOIN " + // " (SELECT GlucoseData AS GD2, format(TestTime, 'YYYY-MM-DD') AS TT2 FROM glucose gl_3 " + // " WHERE (TIME_IDX = 3)) a_2 ON a_2.TT2 = format(gl.TestTime, 'YYYY-MM-DD')) LEFT OUTER JOIN " + // " (SELECT GlucoseData AS GD3, format(TestTime, 'YYYY-MM-DD') AS TT3 FROM glucose gl_4 " + // " WHERE (TIME_IDX = 4)) a_3 ON a_3.TT3 = format(gl.TestTime, 'YYYY-MM-DD')) LEFT OUTER JOIN " + // " (SELECT GlucoseData AS GD4, format(TestTime, 'YYYY-MM-DD') AS TT4 FROM glucose gl_5 " + // " WHERE (TIME_IDX = 5)) a_4 ON a_4.TT4 = format(gl.TestTime, 'YYYY-MM-DD')) LEFT OUTER JOIN " + // " (SELECT GlucoseData AS GD5, format(TestTime, 'YYYY-MM-DD') AS TT5 FROM glucose gl_6 " + // " WHERE (TIME_IDX = 6)) a_5 ON a_5.TT5 = format(gl.TestTime, 'YYYY-MM-DD')) LEFT OUTER JOIN " + // " (SELECT GlucoseData AS GD6, format(TestTime, 'YYYY-MM-DD') AS TT6 FROM glucose gl_7 " + // " WHERE (TIME_IDX = 7)) a_6 ON a_6.TT6 = format(gl.TestTime, 'YYYY-MM-DD')) LEFT OUTER JOIN (SELECT GlucoseData AS GD7, format(TestTime, 'YYYY-MM-DD') " + // " AS TT7 FROM glucose gl_8 WHERE (TIME_IDX = 8)) a_7 ON a_7.TT7 = format(gl.TestTime, 'YYYY-MM-DD')) LEFT OUTER JOIN " + // " (SELECT GlucoseData AS GD8, format(TestTime, 'YYYY-MM-DD') AS TT8 FROM glucose gl_9 " + // " WHERE (TIME_IDX = 9)) a_8 ON a_8.TT8 = format(gl.TestTime, 'YYYY-MM-DD')) where format(gl.TestTime, 'YYYY-MM-DD') >'#"+ setdate + "#' "+ // " GROUP BY format(gl.TestTime, 'YYYY-MM-DD') order by format(gl.TestTime, 'YYYY-MM-DD') "); dv = MainModule.SetGlucoseToTimeSet(); dv_order_desc = MainModule.AccessDatabasesel("SELECT TestTime, GlucoseData FROM glucose where MeterID='" + alu_tp.main_1.MeterIDNo + "' ORDER BY TestTime DESC"); // 2015.02.06 denny int[] count1 = new int[21]; int[] count2 = new int[21]; for (int ii = 0; ii < 21; ii++) { DataSeries[ii] = new Series(); send_comm[ii] = new comm_list(); series3[ii] = new Series(); count1[ii] = 0; } for (int jj = 0; jj < dv_order_desc.Count; jj++) { int after_setdate = 0; TimeSpan after_setdate1; after_setdate1 = Convert.ToDateTime(dv_order_desc[jj].Row["TestTime"]) - setdate; after_setdate = Convert.ToInt16(after_setdate1.Days); if (after_setdate > -1 && after_setdate < 21) { //send_comm[after_setdate].yValues[count1[after_setdate]] = Convert.ToDouble(dv_order_desc[jj].Row["GlucoseData"]); count1[after_setdate]++; } } for (int jj = 0; jj < 21; jj++) { send_comm[jj].yValues = new double[count1[jj]]; } for (int jj = 0; jj < dv_order_desc.Count; jj++) { int after_setdate = 0; TimeSpan after_setdate1; after_setdate1 = Convert.ToDateTime(dv_order_desc[jj].Row["TestTime"]) - setdate; after_setdate = Convert.ToInt16(after_setdate1.Days); if (after_setdate > -1 && after_setdate < 21) { send_comm[after_setdate].yValues[count2[after_setdate]] = Convert.ToDouble(dv_order_desc[jj].Row["GlucoseData"]); count2[after_setdate]++; } } /* // 2015.02.06 denny * for (int jj = 0; jj < dv.Count; jj++) * { * * int dafid = 0; * TimeSpan dafid1; * dafid1 = Convert.ToDateTime(dv[jj].Row["TestT"]) - setdate; * dafid = Convert.ToInt16(dafid1.Days); * * if (dafid > -1 && dafid < 21) * { * for (int ii = 0; ii < 9; ii++) * { * string eestr = "Expr" + (ii + 1); * // send_comm[ii].yValues[count1[ii]] = rand.Next(45, 95); * if (Convert.ToInt16(dv[jj].Row[eestr]) == 0) * { * } * else * { * count1[dafid]++; * } * } * } * } */// 2015.02.06 denny /* // 2015.02.06 denny * for (int jj = 0; jj < 21; jj++) * { * send_comm[jj].yValues = new double[count1[jj]]; * } * int[] count2 = new int[21]; */ // 2015.02.06 denny /* // 2015.02.06 denny * for (int jj = 0; jj < dv.Count; jj++) * { * int dafid = 0; * TimeSpan dafid1; * dafid1 = Convert.ToDateTime(dv[jj].Row["TestT"]) - setdate; * dafid = Convert.ToInt16(dafid1.Days); * if (dafid > -1 && dafid < 21) * { * for (int ii = 0; ii < 9; ii++) * { * * * string eestr = "Expr" + (ii + 1); * // send_comm[ii].yValues[count1[ii]] = rand.Next(45, 95); * if (Convert.ToInt16(dv[jj].Row[eestr]) == 0) * { * } * else * { * send_comm[dafid].yValues[count2[dafid]] = Convert.ToInt16(dv[jj].Row[eestr]); * count2[dafid]++; * } * } * // send_comm[jj].yValues[ii] = rand.Next(45, 95); * * } * } */// 2015.02.06 denny ChartArea ChartArea2 = new ChartArea(); ChartArea ChartArea3 = new ChartArea(); ChartArea bx1 = new ChartArea(); //Add the charting areas to the chart chart1.ChartAreas.Clear(); chart1.ChartAreas.Add(ChartArea2); chart1.ChartAreas.Add(ChartArea3); ChartArea2.Name = "Data Chart Area"; ChartArea3.Name = "Box Plot Area"; //ChartArea3.AlignWithChartArea = "Data Chart Area" ChartArea2.Position.X = 0; ChartArea2.Position.Y = 0; ChartArea3.Position.X = 0; ChartArea3.Position.Y = 0; ChartArea2.Position.Height = 82f; ChartArea2.Position.Width = 0f; ChartArea3.Position.Height = 92f; ChartArea3.Position.Width = 90f; // ChartArea3.AxisX.IsLabelAutoFit = False // ChartArea3.AxisX.MajorGrid.Enabled = False // ChartArea3.AxisX.MajorTickMark.Enabled = False ChartArea3.AxisX.ScaleBreakStyle.Spacing = .5; // ChartArea3.AxisX.ScaleBreakStyle.StartFromZero = StartFromZero.No ChartArea3.AxisX.Minimum = 0.5; ChartArea3.AxisX.Maximum = 21.5; // BackGradientStyle = "VerticalCenter" // ChartArea3.ShadowColor = Drawing.Color.Cyan // ChartArea3.BackSecondaryColor = Drawing.Color.FromArgb(128, 255, 255) // ChartArea3.BorderColor = Drawing.Color.Black for (int jj = 0; jj < 21; jj++) { series3[jj].Name = "BoxPlotLabels" + jj; series3[jj].ChartArea = "Box Plot Area"; series3[jj].ChartType = SeriesChartType.Point; series3[jj].CustomProperties = "LabelStyle=Center"; // Right// 2015.02.09 denny series3[jj].Font = new System.Drawing.Font("Microsoft Sans Serif", 8F); // 7F // 2015.02.09 denny series3[jj].Legend = "Default"; } for (int jj = 0; jj < 21; jj++) { DataPoint dataPoint1 = new DataPoint(1 + jj, 0); DataPoint dataPoint2 = new DataPoint(1 + jj, 0); DataPoint dataPoint3 = new DataPoint(1 + jj, 0); DataPoint dataPoint4 = new DataPoint(1 + jj, 0); DataPoint dataPoint5 = new DataPoint(1 + jj, 0); DataPoint dataPoint6 = new DataPoint(1 + jj, 0); DataPoint dataPoint7 = new DataPoint(1 + jj, 0); DataPoint dataPoint8 = new DataPoint(1 + jj, 0); dataPoint1.Color = System.Drawing.Color.Transparent; dataPoint2.Color = System.Drawing.Color.Transparent; dataPoint3.Color = System.Drawing.Color.Transparent; dataPoint4.Color = System.Drawing.Color.Transparent; dataPoint5.Color = System.Drawing.Color.Transparent; dataPoint6.Color = System.Drawing.Color.Transparent; dataPoint7.Color = System.Drawing.Color.Transparent; dataPoint8.Color = System.Drawing.Color.Transparent; series3[jj].Points.Add(dataPoint1); series3[jj].Points.Add(dataPoint2); series3[jj].Points.Add(dataPoint3); series3[jj].Points.Add(dataPoint4); series3[jj].Points.Add(dataPoint5); series3[jj].Points.Add(dataPoint6); series3[jj].Points.Add(dataPoint7); series3[jj].Points.Add(dataPoint8); series3[jj].SmartLabelStyle.Enabled = false; } for (int jj = 0; jj < 21; jj++) { DataSeries[jj].Name = "DataSeries" + jj; DataSeries[jj].ChartType = SeriesChartType.Point; DataSeries[jj].ChartArea = "Data Chart Area"; DataSeries[jj].IsValueShownAsLabel = false; DataSeries[jj].IsVisibleInLegend = false; } BoxPlotSeries.Name = "BoxPlotSeries"; BoxPlotSeries.ChartType = SeriesChartType.BoxPlot; BoxPlotSeries.ChartArea = "Box Plot Area"; // BoxPlotSeries.IsValueShownAsLabel = true; BoxPlotSeries.IsVisibleInLegend = true; BoxPlotSeries.BackGradientStyle = GradientStyle.VerticalCenter; BoxPlotSeries.Color = System.Drawing.Color.Cyan; BoxPlotSeries.BackSecondaryColor = System.Drawing.Color.FromArgb(128, 255, 255); BoxPlotSeries.BorderColor = System.Drawing.Color.Black; chart1.Series.Clear(); chart1.Series.Add(BoxPlotSeries); // Add data to Box Plot Source series. string datastr = ""; for (int jj = 0; jj < 21; jj++) { chart1.Series.Add(series3[jj]); chart1.Series.Add(DataSeries[jj]); chart1.Series[DataSeries[jj].Name].Points.DataBindY(send_comm[jj].yValues); if (jj > 0) { datastr = datastr + ";" + DataSeries[jj].Name; } else { datastr = DataSeries[jj].Name; } } chart1.Series["BoxPlotSeries"]["BoxPlotWhiskerPercentile"] = "0"; chart1.Series["BoxPlotSeries"]["BoxPlotSeries"] = datastr; // Set whiskers 15th percentile. //chart1.Series["BoxPlotSeries"]["BoxPlotWhiskerPerc entile"] = "10";// 2015.02.04 denny // Show/Hide Average line. chart1.Series["BoxPlotSeries"]["BoxPlotShowAverage "] = "true"; // Show/Hide Median line. chart1.Series["BoxPlotSeries"]["BoxPlotShowMedian"] = "true"; // Show/Hide Unusual points. chart1.Series["BoxPlotSeries"]["BoxPlotShowUnusual Values"] = "true"; // chart1.Series("BoxPlotSeries")("PointWidth") = "0.25" chart1.Series["BoxPlotSeries"]["PointWidth"] = "0.5";//0.25;// 2015.02.09 denny chart1.Series["BoxPlotSeries"].XValueMember = "day of week"; chart1.Series["BoxPlotSeries"].IsValueShownAsLabel = false;//true;// 2015.02.05 denny for (int jj = 0; jj < 21; jj++) { //string dstring; // 2015.02.06 denny ChartArea3.AxisX.CustomLabels.Add(0, 2 * (jj + 1), Convert.ToString(Convert.ToDateTime(setdate).AddDays(jj).ToString("MM/dd"))); // alu_tp.timgp[t1].time_on = dv1[t1].Row["time_on"].ToString(); // alu_tp.timgp[t1].time_off = dv1[t1].Row["time_off"].ToString(); } ChartArea3.AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dash; ChartArea3.AxisY.MajorGrid.LineDashStyle = ChartDashStyle.Dash; StripLine s01; if (alu_tp.main_1.TargetMaxOptionp.ToString().Length > 0 || alu_tp.main_1.TargetMinOptionp.ToString().Length > 0) { s01 = new StripLine(); s01.BackColor = Color.FromArgb(248, 199, 213); s01.IntervalOffset = 0; s01.StripWidth = 700; // chart1.ChartAreas["ChartArea1"].AxisY.StripLines.Add(s01); ChartArea3.AxisY.StripLines.Add(s01); s01 = new StripLine(); s01.BackColor = Color.FromArgb(245, 250, 189); s01.IntervalOffset = Convert.ToInt16(alu_tp.main_1.TargetMinOptionp); s01.StripWidth = Convert.ToInt16(alu_tp.main_1.TargetMaxOptionp) - s01.IntervalOffset; // chart1.ChartAreas["ChartArea1"].AxisY.StripLines.Add(s01); ChartArea3.AxisY.StripLines.Add(s01); } if (alu_tp.main_1.TargetMaxOption.ToString().Length > 0 || alu_tp.main_1.TargetMinOption.ToString().Length > 0) { s01 = new StripLine(); s01.BackColor = Color.FromArgb(190, 251, 210); s01.IntervalOffset = Convert.ToInt16(alu_tp.main_1.TargetMinOption); s01.StripWidth = Convert.ToInt16(alu_tp.main_1.TargetMaxOption) - s01.IntervalOffset; // chart1.ChartAreas["ChartArea1"].AxisY.StripLines.Add(s01); ChartArea3.AxisY.StripLines.Add(s01); } for (int jj = 0; jj < 21; jj++) { chart1.Series[DataSeries[jj].Name].Enabled = false; } } }
private void cmdSaveBtn_Click(object sender, EventArgs e) { if (alu_tp.main_1.UnitOption == 1)//mg/dL { if (int.Parse(maxPBox.Text) > 600 || int.Parse(maxPBox.Text) < 30) { MessageBox.Show("ERROR: The normal Uper limit Setting of Glucose Value ranges between 30mg/dL and 600mg/dL !!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (int.Parse(maxBox.Text) > 600 || int.Parse(maxBox.Text) < 30) { MessageBox.Show("ERROR: The normal Uper limit Setting of Glucose Value ranges between 30mg/dL and 600mg/dL !!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (int.Parse(maxBox.Text) > int.Parse(maxPBox.Text)) { MessageBox.Show("ERROR: The lower limit Setting of Glucose Value > The Uper limit Setting of Glucose Value!!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (int.Parse(minBox.Text) > 600 || int.Parse(minBox.Text) < 30) { MessageBox.Show("ERROR: The normal Uper limit Setting of Glucose Value ranges between 30mg/dL and 600mg/dL !!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (int.Parse(minpBox.Text) > 600 || int.Parse(minpBox.Text) < 30) { MessageBox.Show("ERROR: The normal Uper limit Setting of Glucose Value ranges between 30mg/dL and 600mg/dL !!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (int.Parse(minpBox.Text) > int.Parse(minBox.Text)) { MessageBox.Show("ERROR: The lower limit Setting of Glucose Value > The Uper limit Setting of Glucose Value!!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else { alu_tp.main_1.TargetMaxOption = int.Parse(maxPBox.Text); //將現在之血糖最大值寫入 alu_tp.main_1.TargetMinOption = int.Parse(maxBox.Text); //將現在之血糖最小值寫入 alu_tp.main_1.TargetMaxOptionp = int.Parse(minBox.Text); //將現在之血糖最大值寫入 alu_tp.main_1.TargetMinOptionp = int.Parse(minpBox.Text); //將現在之血糖最小值寫入 cmdOK.Enabled = true; } } else if (alu_tp.main_1.UnitOption == 2) //'(mmol/L) { if (int.Parse(maxPBox.Text) > 33.3 || int.Parse(maxPBox.Text) < 1.7) { MessageBox.Show("ERROR: The normal Uper limit Setting of Glucose Value ranges between 30mg/dL and 600mg/dL !!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (int.Parse(maxBox.Text) > 33.3 || int.Parse(maxBox.Text) < 1.7) { MessageBox.Show("ERROR: The normal Uper limit Setting of Glucose Value ranges between 30mg/dL and 600mg/dL !!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (int.Parse(maxBox.Text) > int.Parse(maxPBox.Text)) { MessageBox.Show("ERROR: The lower limit Setting of Glucose Value > The Uper limit Setting of Glucose Value!!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (int.Parse(minBox.Text) > 33.3 || int.Parse(minBox.Text) < 1.7) { MessageBox.Show("ERROR: The normal Uper limit Setting of Glucose Value ranges between 30mg/dL and 600mg/dL !!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (int.Parse(minpBox.Text) > 33.3 || int.Parse(minpBox.Text) < 1.7) { MessageBox.Show("ERROR: The normal Uper limit Setting of Glucose Value ranges between 30mg/dL and 600mg/dL !!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (int.Parse(minpBox.Text) > int.Parse(minBox.Text)) { MessageBox.Show("ERROR: The lower limit Setting of Glucose Value > The Uper limit Setting of Glucose Value!!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else { alu_tp.main_1.TargetMaxOption = int.Parse(maxPBox.Text) * 18; //'將現在之血糖最大值寫入 alu_tp.main_1.TargetMinOption = int.Parse(maxBox.Text) * 18; //'將現在之血糖最小值寫入 alu_tp.main_1.TargetMaxOptionp = int.Parse(minBox.Text) * 18; //'將現在之血糖最大值寫入 alu_tp.main_1.TargetMinOptionp = int.Parse(minpBox.Text) * 18; //'將現在之血糖最小值寫入 cmdOK.Enabled = true; } } alu_tp.main_1.TargetMaxOptionp = Convert.ToInt16(maxPBox.Text); alu_tp.main_1.TargetMaxOption = Convert.ToInt16(maxBox.Text); alu_tp.main_1.TargetMinOption = Convert.ToInt16(minBox.Text); alu_tp.main_1.TargetMinOptionp = Convert.ToInt16(minpBox.Text); if (alu_tp.main_1.FileName != "guest") { MainModule.updateDatabasesel("UPDATE HmdRegister SET Max1='" + maxBox.Text + "', Maxp='" + maxPBox.Text + "', Min1='" + minBox.Text + "', Minp='" + minpBox.Text + "' where idx=" + alu_tp.main_1.FileName + " "); } }
private void cmdSaveBtn_Click(object sender, EventArgs e) { if (lblMeterid2.Text.ToLower() == "no") { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORMustSelect"), lblMeterid1.Text), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (maxPBox.Text == "") { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORMustInput"), label1.Text), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (maxBox.Text == "") { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORMustInput"), label2.Text), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (minBox.Text == "") { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORMustInput"), label3.Text), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (minpBox.Text == "") { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORMustInput"), label4.Text), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (MainModule.IsNumber(maxPBox.Text) == false) { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORMustIsNumber"), label1.Text), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (MainModule.IsNumber(maxBox.Text) == false) { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORMustIsNumber"), label2.Text), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (MainModule.IsNumber(minBox.Text) == false) { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORMustIsNumber"), label3.Text), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (MainModule.IsNumber(minpBox.Text) == false) { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORMustIsNumber"), label4.Text), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } maxPBox.Text = MainModule.ConvertToFullwidthNumber2(maxPBox.Text); maxBox.Text = MainModule.ConvertToFullwidthNumber2(maxBox.Text); minBox.Text = MainModule.ConvertToFullwidthNumber2(minBox.Text); minpBox.Text = MainModule.ConvertToFullwidthNumber2(minpBox.Text); if (HmdRegister_idx != "0") { int MaxOption = 0; int MinOption = 0; int MaxOptionp = 0; int MinOptionp = 0; if (alu_tp.main_1.UnitOption == 1)//mg/dL { if (int.Parse(maxPBox.Text) > 600 || int.Parse(maxPBox.Text) < 30) { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORSettingOfGlucoseValueRanges"), label1.Text, "30", "600"), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (int.Parse(maxBox.Text) > 600 || int.Parse(maxBox.Text) < 30) { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORSettingOfGlucoseValueRanges"), label2.Text, "30", "600"), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (int.Parse(maxBox.Text) > int.Parse(maxPBox.Text)) { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORSettingOfGlucoseValueGreaterThan"), label2.Text, label1.Text), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (int.Parse(minBox.Text) > 600 || int.Parse(minBox.Text) < 30) { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORSettingOfGlucoseValueRanges"), label3.Text, "30", "600"), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (int.Parse(minpBox.Text) > 600 || int.Parse(minpBox.Text) < 30) { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORSettingOfGlucoseValueRanges"), label4.Text, "30", "600"), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (int.Parse(minpBox.Text) > int.Parse(minBox.Text)) { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORSettingOfGlucoseValueGreaterThan"), label4.Text, label3.Text), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else { MaxOptionp = int.Parse(maxPBox.Text); //將現在之血糖最大值寫入 MaxOption = int.Parse(maxBox.Text); //將現在之血糖最小值寫入 MinOption = int.Parse(minBox.Text); //將現在之血糖最大值寫入 MinOptionp = int.Parse(minpBox.Text); //將現在之血糖最小值寫入 } } else if (alu_tp.main_1.UnitOption == 2) //'(mmol/L) { if (int.Parse(maxPBox.Text) > 33.3 || int.Parse(maxPBox.Text) < 1.7) { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORSettingOfGlucoseValueRanges"), label1.Text, "33.3", "1.7"), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (int.Parse(maxBox.Text) > 33.3 || int.Parse(maxBox.Text) < 1.7) { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORSettingOfGlucoseValueRanges"), label2.Text, "33.3", "1.7"), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (int.Parse(maxBox.Text) > int.Parse(maxPBox.Text)) { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORSettingOfGlucoseValueGreaterThan"), label2.Text, label1.Text), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (int.Parse(minBox.Text) > 33.3 || int.Parse(minBox.Text) < 1.7) { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORSettingOfGlucoseValueRanges"), label3.Text, "33.3", "1.7"), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (int.Parse(minpBox.Text) > 33.3 || int.Parse(minpBox.Text) < 1.7) { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORSettingOfGlucoseValueRanges"), label4.Text, "33.3", "1.7"), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (int.Parse(minpBox.Text) > int.Parse(minBox.Text)) { MessageBox.Show(string.Format(alu_tp.main_1.msg_txt.GetString("ERRORSettingOfGlucoseValueGreaterThan"), label4.Text, label3.Text), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else { MaxOptionp = int.Parse(maxPBox.Text) * 18; //'將現在之血糖最大值寫入 MaxOption = int.Parse(maxBox.Text) * 18; //'將現在之血糖最小值寫入 MinOption = int.Parse(minBox.Text) * 18; //'將現在之血糖最大值寫入 MinOptionp = int.Parse(minpBox.Text) * 18; //'將現在之血糖最小值寫入 } } MainModule.updateDatabasesel("UPDATE HmdRegister SET Max1='" + MaxOption + "', Maxp='" + MaxOptionp + "', Min1='" + MinOption + "', Minp='" + MinOptionp + "',id='" + txtUserID.Text + "' where idx=" + HmdRegister_idx + " "); loadData(); } }
private void loadData() { MainModule.readOldData(); if (alu_tp.main_1.Total == 1 && alu_tp.main_1.DataDA[1] == 0) { MessageBox.Show("nenhum dado !! faça o download!!", "gerente metros", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { GLMax = 0; // '歸零 GLMin = 0; GLAvg = 0; GLAdd = 0; GLMaxac = 0; // '歸零 GLMinac = 0; GLAvgac = 0; GLAddac = 0; GLMaxpc = 0; // '歸零 GLMinpc = 0; GLAvgpc = 0; GLAddpc = 0; nnn = 0; nnnac = 0; Total_pcR = 0; Total_acR = 0; //For I = 1 To 7 '設定啟始統計次數陣列各列為0 // Data(I, 2) = 0 // Data(I, 3) = 0 //Next GLAdd = 0; GLAddac = 0; GLAddpc = 0; //'判斷此血糖值為ac or pc---------------------------------------------- for (I = 1; I <= alu_tp.main_1.Total; I++) { if (alu_tp.main_1.DataACPC[I] == "PC" || alu_tp.main_1.DataACPC[I] == "1") { Total_pcR++; DataMO_pcR[Total_pcR] = alu_tp.main_1.DataMO[I]; DataDA_pcR[Total_pcR] = alu_tp.main_1.DataDA[I]; DataHR_pcR[Total_pcR] = alu_tp.main_1.DataHR[I]; DataMI_pcR[Total_pcR] = alu_tp.main_1.DataMI[I]; DataGL_pcR[Total_pcR] = alu_tp.main_1.DataGL[I]; DataYR_pcR[Total_pcR] = alu_tp.main_1.DataYR[I]; } else { Total_acR++; DataMO_acR[Total_acR] = alu_tp.main_1.DataMO[I]; DataDA_acR[Total_acR] = alu_tp.main_1.DataDA[I]; DataHR_acR[Total_acR] = alu_tp.main_1.DataHR[I]; DataMI_acR[Total_acR] = alu_tp.main_1.DataMI[I]; DataGL_acR[Total_acR] = alu_tp.main_1.DataGL[I]; DataYR_acR[Total_acR] = alu_tp.main_1.DataYR[I]; } } #region 算pc //'-------------------------------------------------------------------- P0 = 0; P1 = 0; P2 = 0; P3 = 0; P4 = 0; P5 = 0; P6 = 0; for (I = 1; I <= Total_pcR; I++) // '隨著PC總筆數的增加 { tmppc = DataGL_pcR[I]; // '將每一筆血糖值 //switch (tmppc) //Select Case tmppc if (tmppc < 70) { P0 = P0 + 1; // '統計該值區段的人數 } else if (tmppc >= 70 && tmppc < 100) { P1 = P1 + 1; // '統計該值區段的人數 } else if (tmppc >= 100 && tmppc < 140) { P2 = P2 + 1; // '統計該值區段的人數 } else if (tmppc >= 140 && tmppc < 180) { P3 = P3 + 1; // '統計該值區段的人數 } else if (tmppc >= 180 && tmppc < 220) { P4 = P4 + 1; // '統計該值區段的人數 } else if (tmppc >= 220 & tmppc < 280) { P5 = P5 + 1; // '統計該值區段的人數 } else { P6 = P6 + 1; // '統計該值區段的人數 } nnn++; int rrr = DataHR_pcR[I]; // '將HR GL 資料抓回 int minmin = DataMI_pcR[I]; ggg = DataGL_pcR[I]; GLAddpc = GLAddpc + ggg; if (nnn == 1) { GLMaxpc = ggg; GLMinpc = ggg; } if (ggg > GLMaxpc) { GLMaxpc = ggg; } if (ggg < GLMinpc) { GLMinpc = ggg; } } #endregion #region 算AC // '-------------------------------------------------------------------------------------------------- A0 = 0; A1 = 0; A2 = 0; A3 = 0; A4 = 0; A5 = 0; A6 = 0; for (I = 1; I <= Total_acR; I++) // '隨著AC總筆數的增加 { tmpac = DataGL_acR[I]; // '將每一筆血糖值 //Select Case tmpac if (tmpac < 70) { A0 = A0 + 1; // '統計該值區段的人數 } else if (tmpac >= 70 && tmpac < 100) { A1 = A1 + 1; // '統計該值區段的人數 } else if (tmpac >= 100 && tmpac < 140) { A2 = A2 + 1; // '統計該值區段的人數 } else if (tmpac >= 140 && tmpac < 180) { A3 = A3 + 1; // '統計該值區段的人數 } else if (tmpac >= 180 && tmpac < 220) { A4 = A4 + 1; // '統計該值區段的人數 } else if (tmpac >= 220 && tmpac < 280) { A5 = A5 + 1; // '統計該值區段的人數 } else { A6 = A6 + 1; // '統計該值區段的人數 } nnnac = nnnac + 1; int rrr = DataHR_acR[I]; // '將HR GL 資料抓回 int minmin = DataMI_acR[I]; gggac = DataGL_acR[I]; GLAddac = GLAddac + gggac; if (nnnac == 1) { GLMaxac = gggac; GLMinac = gggac; } if (gggac > GLMaxac) { GLMaxac = gggac; } if (gggac < GLMinac) { GLMinac = gggac; } } #endregion //'-------------------------------------------------------------------------------------------------- if (P0 != 0) { Pn0 = (P0 * 100) / nnn; // '計算PC-血糖值 小於70 該區段的百分比 } else { Pn0 = 0; } if (P1 != 0) { Pn1 = (P1 * 100) / nnn; // '計算PC-血糖值 70-100 該區段的百分比 } else { Pn1 = 0; } if (P2 != 0) { Pn2 = (P2 * 100) / nnn; // '計算PC-血糖值 100-140 該區段的百分比 } else { Pn2 = 0; } if (P3 != 0) { Pn3 = (P3 * 100) / nnn; // '計算PC-血糖值 100-140 該區段的百分比 } else { Pn3 = 0; } if (P4 != 0) { Pn4 = (P4 * 100) / nnn; // '計算PC-血糖值 100-140 該區段的百分比 } else { Pn4 = 0; } if (P5 != 0) { Pn5 = (P5 * 100) / nnn; // '計算PC-血糖值 100-140 該區段的百分比 } else { Pn5 = 0; } if (P6 != 0) { Pn6 = (P6 * 100) / nnn; // '計算PC-血糖值 100-140 該區段的百分比 } else { Pn6 = 0; } if (A0 != 0) { An0 = (A0 * 100) / nnnac; // '計算PC-血糖值 小於70 該區段的百分比 } else { An0 = 0; } if (A1 != 0) { An1 = (A1 * 100) / nnnac; // '計算PC-血糖值 小於70 該區段的百分比 } else { An1 = 0; } if (A2 != 0) { An2 = (A2 * 100) / nnnac; // '計算PC-血糖值 小於70 該區段的百分比 } else { An2 = 0; } if (A3 != 0) { An3 = (A3 * 100) / nnnac; // '計算PC-血糖值 小於70 該區段的百分比 } else { An3 = 0; } if (A4 != 0) { An4 = (A4 * 100) / nnnac; // '計算PC-血糖值 小於70 該區段的百分比 } else { An4 = 0; } if (A5 != 0) { An5 = (A5 * 100) / nnnac; // '計算PC-血糖值 小於70 該區段的百分比 } else { An5 = 0; } if (A6 != 0) { An6 = (A6 * 100) / nnnac; // '計算PC-血糖值 小於70 該區段的百分比 } else { An6 = 0; } if (nnn != 0) { GLAvgpc = (int)(GLAddpc / nnn); // '計算PC的平均值 } else { GLAvgpc = 0; } if (nnnac != 0) { GLAvgac = (int)(GLAddac / nnnac); // '計算AC的平均值 } else { GLAvgac = 0; } //MsgBox "總筆數為:" & nnn & "這些資料的血糖值總和為:" & GLAdd & "平均值為:" & GLAvg & "最大值為:" & GLMax & "最小值為:" & GLMin label11.Text = nnn.ToString(); label12.Text = nnnac.ToString(); //'If TimeOption = 1 Then label7.Text = DataYR_pcR[1] + "/" + DataMO_pcR[1] + "/" + DataDA_pcR[1] + " ~ " + DataYR_pcR[nnn] + "/" + DataMO_pcR[nnn] + "/" + DataDA_pcR[nnn]; label2.Text = DataYR_acR[1] + "/" + DataMO_acR[1] + "/" + DataDA_acR[1] + " ~ " + DataYR_acR[nnnac] + "/" + DataMO_acR[nnnac] + "/" + DataDA_acR[nnnac]; //'ElseIf TimeOption = 2 Then //'Label15.Caption = DataDA(1) & "/" & DataMO(1) & "/" & DataYR(1) & " ~ " & DataDA(nnn) & "/" & DataMO(nnn) & "/" & DataYR(nnn) //'End If //'If UnitOption = 1 Then // 'MsgBox "目前的單位為mg/dL" label18.Text = GLMaxac.ToString(); label17.Text = GLMinac.ToString(); label16.Text = GLAvgac.ToString(); label27.Text = GLMaxpc.ToString(); label26.Text = GLMinpc.ToString(); label25.Text = GLAvgpc.ToString(); //Data(1, 1) = "<70" '填寫X軸標籤名 //Data(2, 1) = "70-100" //Data(3, 1) = "100-140" //Data(4, 1) = "140-180" //Data(5, 1) = "180-220" //Data(6, 1) = "220-280" //Data(7, 1) = ">=280" //MSChart1.ChartData = Data '將Data陣列中的資料載入圖形的資料方格 //for (int pointInde = 1; pointInde <= 7; pointInde++) //{ chart1.ChartAreas["ChartArea1"].Axes[0].Title = alu_tp.main_1.rm_txt.GetString("ChartXaxis2"); //chart1.Titles.Clear(); //chart1.Titles.Add("NewTitle"); chart1.Titles["title1"].Text = alu_tp.main_1.rm_txt.GetString("ChartTitle2"); chart1.Series.Clear(); chart1.Series.Add("AC"); chart1.Series.Add("PC"); chart1.Series["AC"].Points.AddY(Pn0); chart1.Series["PC"].Points.AddY(An0); chart1.Series["AC"].Points.AddY(Pn1); chart1.Series["PC"].Points.AddY(An1); chart1.Series["AC"].Points.AddY(Pn2); chart1.Series["PC"].Points.AddY(An2); chart1.Series["AC"].Points.AddY(Pn3); chart1.Series["PC"].Points.AddY(An3); chart1.Series["AC"].Points.AddY(Pn4); chart1.Series["PC"].Points.AddY(An4); chart1.Series["AC"].Points.AddY(Pn5); chart1.Series["PC"].Points.AddY(An5); chart1.Series["AC"].Points.AddY(Pn6); chart1.Series["PC"].Points.AddY(An6); chart1.Series["AC"].IsValueShownAsLabel = true; chart1.Series["PC"].IsValueShownAsLabel = true; chart1.Series["AC"]["LabelStyle"] = "Top"; chart1.Series["PC"]["LabelStyle"] = "Top"; } }
public static DataView SetGlucoseToTimeSet() { DataView dvglucose = MainModule.AccessDatabasesel("SELECT * FROM glucose where MeterID='" + alu_tp.main_1.MeterIDNo + "' ORDER BY TestTime DESC"); DataTable dt = new DataTable(); dt.Columns.Add("TestT", typeof(string)); dt.Columns.Add("TestTime", typeof(DateTime)); dt.Columns.Add("Expr1", typeof(string)); dt.Columns.Add("Expr2", typeof(string)); dt.Columns.Add("Expr3", typeof(string)); dt.Columns.Add("Expr4", typeof(string)); dt.Columns.Add("Expr5", typeof(string)); dt.Columns.Add("Expr6", typeof(string)); dt.Columns.Add("Expr7", typeof(string)); dt.Columns.Add("Expr8", typeof(string)); dt.Columns.Add("Expr9", typeof(string)); DataView dv = dt.DefaultView; dv.Sort = "TestTime"; string _timeTmp = string.Empty; string columnName = ""; bool _addData = false; foreach (DataRowView item in dvglucose) { DateTime _date = Convert.ToDateTime(item["TestTime"]); string _testTime = _date.ToString("yyyy/MM/dd"); string _time_idx = item["time_idx"].ToString(); string _glucoseData = item["glucoseData"].ToString(); int rowIndex = dv.Find(_testTime); columnName = "Expr" + _time_idx; _addData = (rowIndex < 0); if (_addData) { DataRow _drNew = dt.NewRow(); DataRow _newRow = dt.NewRow(); _newRow["TestT"] = string.Format("{0}-{1}-{2}", _date.Year, _date.Month.ToString().PadLeft(2, '0'), _date.Day.ToString().PadLeft(2, '0')); _newRow["TestTime"] = _testTime; _newRow["Expr1"] = 0; _newRow["Expr2"] = 0; _newRow["Expr3"] = 0; _newRow["Expr4"] = 0; _newRow["Expr5"] = 0; _newRow["Expr6"] = 0; _newRow["Expr7"] = 0; _newRow["Expr8"] = 0; _newRow["Expr9"] = 0; _newRow[columnName] = _glucoseData; dt.Rows.Add(_newRow); } else { if (dv[rowIndex][columnName].ToString().Length > 0) { string _value = dv[rowIndex][columnName].ToString(); if (Convert.ToInt16(_glucoseData) < Convert.ToInt16(_value)) { _glucoseData = _value.ToString(); } } dv[rowIndex][columnName] = _glucoseData; } } return(dv); }
private void loadData() { comm_list[] send_comm = new comm_list[9]; Series[] DataSeries = new Series[9]; Series[] series3 = new Series[9]; Series BoxPlotSeries = new Series(); System.Data.DataView dv, dv1; dv = MainModule.SetGlucoseToTimeSet(); // 2015.01.30 denny dv1 = MainModule.AccessDatabasesel("SELECT format(TestTime, 'YYYY-MM-DD') AS TestT, GlucoseData,m_Event,time_IDX FROM glucose where MeterID='" + alu_tp.main_1.MeterIDNo + "' ORDER BY TestTime DESC"); // 2015.01.30 denny //dv = MainModule.AccessDatabasesel("SELECT * FROM glucose where MeterID='" + alu_tp.main_1.MeterIDNo + "' ORDER BY TestTime DESC"); // 2015.01.30 denny int[] count1 = new int[9]; for (int ii = 0; ii < 9; ii++) { DataSeries[ii] = new Series(); send_comm[ii] = new comm_list(); series3[ii] = new Series(); count1[ii] = 0; } // 2015.01.30 denny for (int jj = 0; jj < dv.Count; jj++) { for (int ii = 0; ii < 9; ii++) { string eestr = "Expr" + (ii + 1); if (Convert.ToInt16(dv[jj].Row[eestr]) == 0) { } else { count1[ii]++; } dv1.RowFilter = "TestT= '" + Convert.ToString(dv[jj].Row[0]) + "' and time_IDX='" + Convert.ToString(ii + 1) + "' and GlucoseData <> '" + Convert.ToInt16(dv[jj].Row[eestr]) + "' and GlucoseData <> '0'"; if (dv1.Count > 0) { for (int t1 = 0; t1 < dv1.Count; t1++) { count1[ii]++; } } } } for (int jj = 0; jj < 9; jj++) { send_comm[jj].yValues = new double[count1[jj]]; } int[] count2 = new int[9]; for (int jj = 0; jj < dv.Count; jj++) { for (int ii = 0; ii < 9; ii++) { string eestr = "Expr" + (ii + 1); if (Convert.ToInt16(dv[jj].Row[eestr]) == 0) { } else { send_comm[ii].yValues[count2[ii]] = Convert.ToInt16(dv[jj].Row[eestr]); count2[ii]++; } dv1.RowFilter = "TestT= '" + Convert.ToString(dv[jj].Row[0]) + "' and time_IDX='" + Convert.ToString(ii + 1) + "' and GlucoseData <> '" + Convert.ToInt16(dv[jj].Row[eestr]) + "' and GlucoseData <> '0'"; if (dv1.Count > 0) { for (int t1 = 0; t1 < dv1.Count; t1++) { send_comm[ii].yValues[count2[ii]] = Convert.ToUInt16(dv1[t1].Row["GlucoseData"]); count2[ii]++; } } } } // 2015.01.30 denny ChartArea ChartArea2 = new ChartArea(); ChartArea ChartArea3 = new ChartArea(); ChartArea bx1 = new ChartArea(); //Add the charting areas to the chart chart1.ChartAreas.Clear(); chart1.ChartAreas.Add(ChartArea2); chart1.ChartAreas.Add(ChartArea3); ChartArea2.Name = "Data Chart Area"; ChartArea3.Name = "Box Plot Area"; //ChartArea3.AlignWithChartArea = "Data Chart Area" ChartArea2.Position.X = 0; ChartArea2.Position.Y = 0; ChartArea3.Position.X = 0; ChartArea3.Position.Y = 0; ChartArea2.Position.Height = 82f; ChartArea2.Position.Width = 0f; ChartArea3.Position.Height = 92f; ChartArea3.Position.Width = 90f; // ChartArea3.AxisX.IsLabelAutoFit = False // ChartArea3.AxisX.MajorGrid.Enabled = False // ChartArea3.AxisX.MajorTickMark.Enabled = False ChartArea3.AxisX.ScaleBreakStyle.Spacing = .5; // ChartArea3.AxisX.ScaleBreakStyle.StartFromZero = StartFromZero.No ChartArea3.AxisX.Minimum = 0.5; ChartArea3.AxisX.Maximum = 9.5; // BackGradientStyle = "VerticalCenter" // ChartArea3.ShadowColor = Drawing.Color.Cyan // ChartArea3.BackSecondaryColor = Drawing.Color.FromArgb(128, 255, 255) // ChartArea3.BorderColor = Drawing.Color.Black for (int jj = 0; jj < 9; jj++) { series3[jj].Name = "BoxPlotLabels" + jj; series3[jj].ChartArea = "Box Plot Area"; series3[jj].ChartType = SeriesChartType.Point; series3[jj].CustomProperties = "LabelStyle=Center"; // 2015.02.02 denny series3[jj].Font = new System.Drawing.Font("Microsoft Sans Serif", 10F); // 2015.02.02 denny series3[jj].Legend = "Default"; } for (int jj = 0; jj < 9; jj++) { DataPoint dataPoint1 = new DataPoint(1 + jj, 0); DataPoint dataPoint2 = new DataPoint(1 + jj, 0); DataPoint dataPoint3 = new DataPoint(1 + jj, 0); DataPoint dataPoint4 = new DataPoint(1 + jj, 0); DataPoint dataPoint5 = new DataPoint(1 + jj, 0); DataPoint dataPoint6 = new DataPoint(1 + jj, 0); DataPoint dataPoint7 = new DataPoint(1 + jj, 0); DataPoint dataPoint8 = new DataPoint(1 + jj, 0); dataPoint1.Color = System.Drawing.Color.Transparent; dataPoint2.Color = System.Drawing.Color.Transparent; dataPoint3.Color = System.Drawing.Color.Transparent; dataPoint4.Color = System.Drawing.Color.Transparent; dataPoint5.Color = System.Drawing.Color.Transparent; dataPoint6.Color = System.Drawing.Color.Transparent; dataPoint7.Color = System.Drawing.Color.Transparent; dataPoint8.Color = System.Drawing.Color.Transparent; series3[jj].Points.Add(dataPoint1); series3[jj].Points.Add(dataPoint2); series3[jj].Points.Add(dataPoint3); series3[jj].Points.Add(dataPoint4); series3[jj].Points.Add(dataPoint5); series3[jj].Points.Add(dataPoint6); series3[jj].Points.Add(dataPoint7); series3[jj].Points.Add(dataPoint8); series3[jj].SmartLabelStyle.Enabled = false; } for (int jj = 0; jj < 9; jj++) { DataSeries[jj].Name = "DataSeries" + jj; DataSeries[jj].ChartType = SeriesChartType.Point; DataSeries[jj].ChartArea = "Data Chart Area"; DataSeries[jj].IsValueShownAsLabel = false; DataSeries[jj].IsVisibleInLegend = false; } BoxPlotSeries.Name = "BoxPlotSeries"; BoxPlotSeries.ChartType = SeriesChartType.BoxPlot; BoxPlotSeries.ChartArea = "Box Plot Area"; // BoxPlotSeries.IsValueShownAsLabel = true; BoxPlotSeries.IsVisibleInLegend = true; BoxPlotSeries.BackGradientStyle = GradientStyle.VerticalCenter; BoxPlotSeries.Color = System.Drawing.Color.Cyan; BoxPlotSeries.BackSecondaryColor = System.Drawing.Color.FromArgb(128, 255, 255); BoxPlotSeries.BorderColor = System.Drawing.Color.Black; chart1.Series.Clear(); chart1.Series.Add(BoxPlotSeries); // Add data to Box Plot Source series. string datastr = ""; for (int jj = 0; jj < 9; jj++) { chart1.Series.Add(series3[jj]); chart1.Series.Add(DataSeries[jj]); chart1.Series[DataSeries[jj].Name].Points.DataBindY(send_comm[jj].yValues); if (jj > 0) { datastr = datastr + ";" + DataSeries[jj].Name; } else { datastr = DataSeries[jj].Name; } } chart1.Series["BoxPlotSeries"]["BoxPlotWhiskerPercentile"] = "0"; chart1.Series["BoxPlotSeries"]["BoxPlotSeries"] = datastr; // Set whiskers 15th percentile. //chart1.Series["BoxPlotSeries"]["BoxPlotWhiskerPerc entile"] = "10";// 2015.02.04 denny // Show/Hide Average line. chart1.Series["BoxPlotSeries"]["BoxPlotShowAverage "] = "true"; // Show/Hide Median line. chart1.Series["BoxPlotSeries"]["BoxPlotShowMedian"] = "true"; // Show/Hide Unusual points. chart1.Series["BoxPlotSeries"]["BoxPlotShowUnusual Values"] = "true"; // chart1.Series("BoxPlotSeries")("PointWidth") = "0.25" chart1.Series["BoxPlotSeries"]["PointWidth"] = "0.50";//"0.25"; 2015.02.02 denny chart1.Series["BoxPlotSeries"].XValueMember = "day of week"; for (int jj = 0; jj < 9; jj++) { ChartArea3.AxisX.CustomLabels.Add(0, 2 * (jj + 1), alu_tp.timgp[jj].time_on + "-" + alu_tp.timgp[jj].time_off); // 2015.01.30 denny } ChartArea3.AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dash; ChartArea3.AxisY.MajorGrid.LineDashStyle = ChartDashStyle.Dash; StripLine s01; if (alu_tp.main_1.TargetMaxOptionp.ToString().Length > 0 || alu_tp.main_1.TargetMinOptionp.ToString().Length > 0) { s01 = new StripLine(); s01.BackColor = Color.FromArgb(248, 199, 213); s01.IntervalOffset = 0; s01.StripWidth = 700; // chart1.ChartAreas["ChartArea1"].AxisY.StripLines.Add(s01); ChartArea3.AxisY.StripLines.Add(s01); s01 = new StripLine(); s01.BackColor = Color.FromArgb(245, 250, 189); s01.IntervalOffset = Convert.ToInt16(alu_tp.main_1.TargetMinOptionp); s01.StripWidth = Convert.ToInt16(alu_tp.main_1.TargetMaxOptionp) - s01.IntervalOffset; // chart1.ChartAreas["ChartArea1"].AxisY.StripLines.Add(s01); ChartArea3.AxisY.StripLines.Add(s01); } if (alu_tp.main_1.TargetMaxOption.ToString().Length > 0 || alu_tp.main_1.TargetMinOption.ToString().Length > 0) { s01 = new StripLine(); s01.BackColor = Color.FromArgb(190, 251, 210); s01.IntervalOffset = Convert.ToInt16(alu_tp.main_1.TargetMinOption); s01.StripWidth = Convert.ToInt16(alu_tp.main_1.TargetMaxOption) - s01.IntervalOffset; // chart1.ChartAreas["ChartArea1"].AxisY.StripLines.Add(s01); ChartArea3.AxisY.StripLines.Add(s01); } for (int jj = 0; jj < 9; jj++) { chart1.Series[DataSeries[jj].Name].Enabled = false; } }
private void loadData() { comm_list[] send_comm = new comm_list[7]; Series[] DataSeries = new Series[7]; Series[] series3 = new Series[7]; Series BoxPlotSeries = new Series(); System.Data.DataView dv; dv = MainModule.AccessDatabasesel("SELECT GlucoseData, DAYOFWEEK from glucose where MeterID='" + alu_tp.main_1.MeterIDNo + "' "); int[] count1 = new int[7]; for (int ii = 0; ii < 7; ii++) { DataSeries[ii] = new Series(); send_comm[ii] = new comm_list(); series3[ii] = new Series(); count1[ii] = 0; } for (int jj = 0; jj < dv.Count; jj++) { count1[Convert.ToInt16(dv[jj].Row["DAYOFWEEK"])]++; } for (int jj = 0; jj < 7; jj++) { send_comm[jj].yValues = new double[count1[jj]]; } int[] count2 = new int[7]; for (int jj = 0; jj < dv.Count; jj++) { send_comm[Convert.ToInt16(dv[jj].Row["DAYOFWEEK"])].yValues[count2[Convert.ToInt16(dv[jj].Row["DAYOFWEEK"])]] = Convert.ToInt16(dv[jj].Row["GlucoseData"]); count2[Convert.ToInt16(dv[jj].Row["DAYOFWEEK"])]++; // send_comm[jj].yValues[ii] = rand.Next(45, 95); } ChartArea ChartArea2 = new ChartArea(); ChartArea ChartArea3 = new ChartArea(); ChartArea bx1 = new ChartArea(); //Add the charting areas to the chart chart1.ChartAreas.Clear(); chart1.ChartAreas.Add(ChartArea2); chart1.ChartAreas.Add(ChartArea3); ChartArea2.Name = "Data Chart Area"; ChartArea3.Name = "Box Plot Area"; //ChartArea3.AlignWithChartArea = "Data Chart Area" ChartArea2.Position.X = 0; ChartArea2.Position.Y = 0; ChartArea3.Position.X = 0; ChartArea3.Position.Y = 0; ChartArea2.Position.Height = 82f; ChartArea2.Position.Width = 0f; ChartArea3.Position.Height = 92f; ChartArea3.Position.Width = 90f; // ChartArea3.AxisX.IsLabelAutoFit = False // ChartArea3.AxisX.MajorGrid.Enabled = False // ChartArea3.AxisX.MajorTickMark.Enabled = False ChartArea3.AxisX.ScaleBreakStyle.Spacing = .5; // ChartArea3.AxisX.ScaleBreakStyle.StartFromZero = StartFromZero.No ChartArea3.AxisX.Minimum = 0.5; ChartArea3.AxisX.Maximum = 7.5; // BackGradientStyle = "VerticalCenter" // ChartArea3.ShadowColor = Drawing.Color.Cyan // ChartArea3.BackSecondaryColor = Drawing.Color.FromArgb(128, 255, 255) // ChartArea3.BorderColor = Drawing.Color.Black for (int jj = 0; jj < 7; jj++) { series3[jj].Name = "BoxPlotLabels" + jj; series3[jj].ChartArea = "Box Plot Area"; series3[jj].ChartType = SeriesChartType.Point; series3[jj].CustomProperties = "LabelStyle=Center"; // 2015.02.02 denny series3[jj].Font = new System.Drawing.Font("Microsoft Sans Serif", 10F); // 2015.02.03 denny series3[jj].Legend = "Default"; } for (int jj = 0; jj < 7; jj++) { DataPoint dataPoint1 = new DataPoint(1 + jj, 0); DataPoint dataPoint2 = new DataPoint(1 + jj, 0); DataPoint dataPoint3 = new DataPoint(1 + jj, 0); DataPoint dataPoint4 = new DataPoint(1 + jj, 0); DataPoint dataPoint5 = new DataPoint(1 + jj, 0); DataPoint dataPoint6 = new DataPoint(1 + jj, 0); DataPoint dataPoint7 = new DataPoint(1 + jj, 0); DataPoint dataPoint8 = new DataPoint(1 + jj, 0); dataPoint1.Color = System.Drawing.Color.Transparent; dataPoint2.Color = System.Drawing.Color.Transparent; dataPoint3.Color = System.Drawing.Color.Transparent; dataPoint4.Color = System.Drawing.Color.Transparent; dataPoint5.Color = System.Drawing.Color.Transparent; dataPoint6.Color = System.Drawing.Color.Transparent; dataPoint7.Color = System.Drawing.Color.Transparent; dataPoint8.Color = System.Drawing.Color.Transparent; series3[jj].Points.Add(dataPoint1); series3[jj].Points.Add(dataPoint2); series3[jj].Points.Add(dataPoint3); series3[jj].Points.Add(dataPoint4); series3[jj].Points.Add(dataPoint5); series3[jj].Points.Add(dataPoint6); series3[jj].Points.Add(dataPoint7); series3[jj].Points.Add(dataPoint8); series3[jj].SmartLabelStyle.Enabled = false; } for (int jj = 0; jj < 7; jj++) { DataSeries[jj].Name = "DataSeries" + jj; DataSeries[jj].ChartType = SeriesChartType.Point; DataSeries[jj].ChartArea = "Data Chart Area"; DataSeries[jj].IsValueShownAsLabel = false; DataSeries[jj].IsVisibleInLegend = false; } BoxPlotSeries.Name = "BoxPlotSeries"; BoxPlotSeries.ChartType = SeriesChartType.BoxPlot; BoxPlotSeries.ChartArea = "Box Plot Area"; // BoxPlotSeries.IsValueShownAsLabel = true; BoxPlotSeries.IsVisibleInLegend = true; BoxPlotSeries.BackGradientStyle = GradientStyle.VerticalCenter; BoxPlotSeries.Color = System.Drawing.Color.Cyan; BoxPlotSeries.BackSecondaryColor = System.Drawing.Color.FromArgb(128, 255, 255); BoxPlotSeries.BorderColor = System.Drawing.Color.Black; chart1.Series.Clear(); chart1.Series.Add(BoxPlotSeries); // Add data to Box Plot Source series. string datastr = ""; for (int jj = 0; jj < 7; jj++) { chart1.Series.Add(series3[jj]); chart1.Series.Add(DataSeries[jj]); chart1.Series[DataSeries[jj].Name].Points.DataBindY(send_comm[jj].yValues); if (jj > 0) { datastr = datastr + ";" + DataSeries[jj].Name; } else { datastr = DataSeries[jj].Name; } } chart1.Series["BoxPlotSeries"]["BoxPlotWhiskerPercentile"] = "0"; chart1.Series["BoxPlotSeries"]["BoxPlotSeries"] = datastr; // Set whiskers 15th percentile. chart1.Series["BoxPlotSeries"]["BoxPlotWhiskerPerc entile"] = "10"; // Show/Hide Average line. chart1.Series["BoxPlotSeries"]["BoxPlotShowAverage "] = "true"; // Show/Hide Median line. chart1.Series["BoxPlotSeries"]["BoxPlotShowMedian"] = "true"; // Show/Hide Unusual points. chart1.Series["BoxPlotSeries"]["BoxPlotShowUnusual Values"] = "true"; // chart1.Series("BoxPlotSeries")("PointWidth") = "0.25" chart1.Series["BoxPlotSeries"]["PointWidth"] = "0.50";// 2015.02.03 denny chart1.Series["BoxPlotSeries"].XValueMember = "day of week"; // Dim intWeek As Integer = 7 - Convert.ToInt32(CType(2011 & "/1 / 1", Date).DayOfWeek) // Dim strWeek As Date = CType(CType(Year01 & "/1 / 1", Date).AddDays(intWeek).ToString(), Date) for (int jj = 0; jj < 7; jj++) { ChartArea3.AxisX.CustomLabels.Add(0, 2 * (jj + 1), Convert.ToDateTime("2011/6/12").AddDays(jj).DayOfWeek.ToString()); // alu_tp.timgp[t1].time_on = dv1[t1].Row["time_on"].ToString(); // alu_tp.timgp[t1].time_off = dv1[t1].Row["time_off"].ToString(); } ChartArea3.AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dash; ChartArea3.AxisY.MajorGrid.LineDashStyle = ChartDashStyle.Dash; StripLine s01; if (alu_tp.main_1.TargetMaxOptionp.ToString().Length > 0 || alu_tp.main_1.TargetMinOptionp.ToString().Length > 0) { s01 = new StripLine(); s01.BackColor = Color.FromArgb(248, 199, 213); s01.IntervalOffset = 0; s01.StripWidth = 700; // chart1.ChartAreas["ChartArea1"].AxisY.StripLines.Add(s01); ChartArea3.AxisY.StripLines.Add(s01); s01 = new StripLine(); s01.BackColor = Color.FromArgb(245, 250, 189); s01.IntervalOffset = Convert.ToInt16(alu_tp.main_1.TargetMinOptionp); s01.StripWidth = Convert.ToInt16(alu_tp.main_1.TargetMaxOptionp) - s01.IntervalOffset; // chart1.ChartAreas["ChartArea1"].AxisY.StripLines.Add(s01); ChartArea3.AxisY.StripLines.Add(s01); } if (alu_tp.main_1.TargetMaxOption.ToString().Length > 0 || alu_tp.main_1.TargetMinOption.ToString().Length > 0) { s01 = new StripLine(); s01.BackColor = Color.FromArgb(190, 251, 210); s01.IntervalOffset = Convert.ToInt16(alu_tp.main_1.TargetMinOption); s01.StripWidth = Convert.ToInt16(alu_tp.main_1.TargetMaxOption) - s01.IntervalOffset; // chart1.ChartAreas["ChartArea1"].AxisY.StripLines.Add(s01); ChartArea3.AxisY.StripLines.Add(s01); } for (int jj = 0; jj < 7; jj++) { chart1.Series[DataSeries[jj].Name].Enabled = false; } }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); SplashForm gg = new SplashForm(); gg.Show(); System.Threading.Thread.Sleep(1000); gg.Hide(); //Application.Run(new loginForm()); try { MainModule.OpenAccessDatabase("HMDgms.mdb", "HmdRegister"); MainModule.get_time_set(); } catch (Exception err) { } System.Data.DataView dv1; dv1 = MainModule.AccessDatabasesel("SELECT top 1 * FROM HmdRegister"); if (dv1 != null) { /********************2015.01.20 denny for no meter ID********************/ if (dv1.Count >= 0) { if (dv1.Count == 0) { alu_tp.main_1.FileName = ""; alu_tp.main_1.ReportName = ""; alu_tp.main_1.MeterIDNo = ""; alu_tp.main_1.CPortOption = 0; alu_tp.main_1.serialPort1 = new SerialPort(); alu_tp.main_1.serialPort1.PortName = "0"; alu_tp.main_1.UnitOption = 1; alu_tp.main_1.TimeOption = 1; alu_tp.main_1.TargetMaxOption = 999; alu_tp.main_1.TargetMinOption = 0; alu_tp.main_1.TargetMaxOptionp = 999; alu_tp.main_1.TargetMinOptionp = 0; } else { alu_tp.main_1.FileName = dv1[0].Row["idx"].ToString(); alu_tp.main_1.ReportName = dv1[0].Row["id"].ToString(); alu_tp.main_1.MeterIDNo = dv1[0].Row["mid"].ToString(); alu_tp.main_1.CPortOption = 1; alu_tp.main_1.serialPort1 = new SerialPort(); alu_tp.main_1.serialPort1.PortName = Convert.ToString(dv1[0].Row["RS_232"]); alu_tp.main_1.UnitOption = Convert.ToInt16(dv1[0].Row["Unit1"]); alu_tp.main_1.TimeOption = Convert.ToInt16(dv1[0].Row["Time1"]); alu_tp.main_1.TargetMaxOption = Convert.ToInt16(dv1[0].Row["Max1"]); alu_tp.main_1.TargetMinOption = Convert.ToInt16(dv1[0].Row["Min1"]); alu_tp.main_1.TargetMaxOptionp = Convert.ToInt16(dv1[0].Row["Maxp"]); alu_tp.main_1.TargetMinOptionp = Convert.ToInt16(dv1[0].Row["Minp"]); } /********************2015.01.20 denny for no meter ID********************/ Application.Run(new mainForm()); } else { MessageBox.Show("Sem conta padrão", "Programa de Monitoramento de Glicemia V2.4 [Bem vindo!]", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); } } }
private void loadData() { comm_list[] send_comm = new comm_list[6]; Series[] DataSeries = new Series[6]; Series[] DataSeries2 = new Series[6]; Series[] series3 = new Series[6]; Series[] series4 = new Series[6]; DataPoint[] dataPoint1_1 = new DataPoint[6]; DataPoint[] dataPoint2_1 = new DataPoint[6]; DataPoint[] dataPoint3_1 = new DataPoint[6]; DataPoint[] dataPoint4_1 = new DataPoint[6]; DataPoint[] dataPoint5_1 = new DataPoint[6]; DataPoint[] dataPoint6_1 = new DataPoint[6]; DataPoint[] dataPoint7_1 = new DataPoint[6]; DataPoint[] dataPoint8_1 = new DataPoint[6]; StripLine[] s02 = new StripLine[6]; Series BoxPlotSeries = new Series(); Series[] BoxPlotSeries2 = new Series[6]; //Series BoxPlotSeries3 = new Series(); //Series BoxPlotSeries4 = new Series(); //Series BoxPlotSeries5 = new Series(); //Series BoxPlotSeries6 = new Series(); //Series BoxPlotSeries7 = new Series(); ChartArea[] chart2_3 = new ChartArea[6]; ChartArea[] chart2_2 = new ChartArea[6]; System.Data.DataView dv, dv1; chart1.ChartAreas.Clear(); chart2.ChartAreas.Clear(); chart3.ChartAreas.Clear(); chart4.ChartAreas.Clear(); chart5.ChartAreas.Clear(); chart6.ChartAreas.Clear(); chart7.ChartAreas.Clear(); chart1.Series.Clear(); chart2.Series.Clear(); chart3.Series.Clear(); chart4.Series.Clear(); chart5.Series.Clear(); chart6.Series.Clear(); chart7.Series.Clear(); //dv = MainModule.AccessDatabasesel("SELECT format(gl.TestTime, 'YYYY-MM-DD') AS TestT, MAX(iif(isnull(a.GD0), 0, CDBL(a.GD0))) AS Expr1, MAX(iif(isnull(a_1.GD1), 0, CDBL(a_1.GD1))) AS Expr2, " + // " MAX(iif(isnull(a_2.GD2), 0, CDBL(a_2.GD2))) AS Expr3, MAX(iif(isnull(a_3.GD3), 0, CDBL(a_3.GD3))) AS Expr4, MAX(iif(isnull(a_4.GD4), 0, CDBL(a_4.GD4))) " + // " AS Expr5, MAX(iif(isnull(a_5.GD5), 0, CDBL(a_5.GD5))) AS Expr6, MAX(iif(isnull(a_6.GD6), 0, CDBL(a_6.GD6))) AS Expr7, MAX(iif(isnull(a_7.GD7), " + // " 0, CDBL(a_7.GD7))) AS Expr8, MAX(iif(isnull(a_8.GD8), 0, CDBL(a_8.GD8))) " + // " AS Expr9 FROM (((((((((glucose gl LEFT OUTER JOIN " + // " (SELECT GlucoseData AS GD0, format(TestTime, 'YYYY-MM-DD') AS TT0 FROM glucose gl_1 " + // " WHERE (TIME_IDX = 1)) a ON a.TT0 = format(gl.TestTime, 'YYYY-MM-DD')) LEFT OUTER JOIN " + // " (SELECT GlucoseData AS GD1, format(TestTime, 'YYYY-MM-DD') AS TT1 FROM glucose gl_2 " + // " WHERE (TIME_IDX = 2)) a_1 ON a_1.TT1 = format(gl.TestTime, 'YYYY-MM-DD')) LEFT OUTER JOIN " + // " (SELECT GlucoseData AS GD2, format(TestTime, 'YYYY-MM-DD') AS TT2 FROM glucose gl_3 " + // " WHERE (TIME_IDX = 3)) a_2 ON a_2.TT2 = format(gl.TestTime, 'YYYY-MM-DD')) LEFT OUTER JOIN " + // " (SELECT GlucoseData AS GD3, format(TestTime, 'YYYY-MM-DD') AS TT3 FROM glucose gl_4 " + // " WHERE (TIME_IDX = 4)) a_3 ON a_3.TT3 = format(gl.TestTime, 'YYYY-MM-DD')) LEFT OUTER JOIN " + // " (SELECT GlucoseData AS GD4, format(TestTime, 'YYYY-MM-DD') AS TT4 FROM glucose gl_5 " + // " WHERE (TIME_IDX = 5)) a_4 ON a_4.TT4 = format(gl.TestTime, 'YYYY-MM-DD')) LEFT OUTER JOIN " + // " (SELECT GlucoseData AS GD5, format(TestTime, 'YYYY-MM-DD') AS TT5 FROM glucose gl_6 " + // " WHERE (TIME_IDX = 6)) a_5 ON a_5.TT5 = format(gl.TestTime, 'YYYY-MM-DD')) LEFT OUTER JOIN " + // " (SELECT GlucoseData AS GD6, format(TestTime, 'YYYY-MM-DD') AS TT6 FROM glucose gl_7 " + // " WHERE (TIME_IDX = 7)) a_6 ON a_6.TT6 = format(gl.TestTime, 'YYYY-MM-DD')) LEFT OUTER JOIN (SELECT GlucoseData AS GD7, format(TestTime, 'YYYY-MM-DD') " + // " AS TT7 FROM glucose gl_8 WHERE (TIME_IDX = 8)) a_7 ON a_7.TT7 = format(gl.TestTime, 'YYYY-MM-DD')) LEFT OUTER JOIN " + // " (SELECT GlucoseData AS GD8, format(TestTime, 'YYYY-MM-DD') AS TT8 FROM glucose gl_9 " + // " WHERE (TIME_IDX = 9)) a_8 ON a_8.TT8 = format(gl.TestTime, 'YYYY-MM-DD')) " + // " GROUP BY format(gl.TestTime, 'YYYY-MM-DD') " + // " ORDER BY format(gl.TestTime, 'YYYY-MM-DD') DESC "); dv = MainModule.SetGlucoseToTimeSet(); dv1 = MainModule.AccessDatabasesel("SELECT format(TestTime, 'YYYY-MM-DD') AS TestT, GlucoseData,m_Event,time_IDX FROM glucose where MeterID='" + alu_tp.main_1.MeterIDNo + "' ORDER BY TestTime DESC"); int TTT1 = dv1.Count; int[] count1 = new int[6]; for (int ii = 0; ii < 6; ii++) { DataSeries[ii] = new Series(); DataSeries2[ii] = new Series(); series3[ii] = new Series(); series4[ii] = new Series(); s02[ii] = new StripLine(); send_comm[ii] = new comm_list(); count1[ii] = 0; BoxPlotSeries2[ii] = new Series(); chart2_3[ii] = new ChartArea(); chart2_2[ii] = new ChartArea(); } for (int jj = 0; jj < dv.Count; jj++) { for (int ii = 0; ii < 6; ii++) { string eestr = "Expr" + (ii + 1); // send_comm[ii].yValues[count1[ii]] = rand.Next(45, 95); if (Convert.ToInt16(dv[jj].Row[eestr]) == 0) { } else { count1[ii]++; } dv1.RowFilter = "TestT= '" + Convert.ToString(dv[jj].Row[0]) + "' and time_IDX='" + Convert.ToString(ii + 1) + "' and GlucoseData <> '" + Convert.ToInt16(dv[jj].Row[eestr]) + "' and GlucoseData <> '0'"; if (dv1.Count > 0) { for (int t1 = 0; t1 < dv1.Count; t1++) { count1[ii]++; } } } } for (int jj = 0; jj < 6; jj++) { send_comm[jj].yValues = new double[count1[jj]]; } int[] count2 = new int[6]; for (int jj = 0; jj < dv.Count; jj++) { for (int ii = 0; ii < 6; ii++) { string eestr = "Expr" + (ii + 1); // send_comm[ii].yValues[count1[ii]] = rand.Next(45, 95); if (Convert.ToInt16(dv[jj].Row[eestr]) == 0) { } else { send_comm[ii].yValues[count2[ii]] = Convert.ToInt16(dv[jj].Row[eestr]); count2[ii]++; } // send_comm[jj].yValues[ii] = rand.Next(45, 95); dv1.RowFilter = "TestT= '" + Convert.ToString(dv[jj].Row[0]) + "' and time_IDX='" + Convert.ToString(ii + 1) + "' and GlucoseData <> '" + Convert.ToInt16(dv[jj].Row[eestr]) + "' and GlucoseData <> '0'"; if (dv1.Count > 0) { for (int t1 = 0; t1 < dv1.Count; t1++) { send_comm[ii].yValues[count2[ii]] = Convert.ToUInt16(dv1[t1].Row["GlucoseData"]); count2[ii]++; } } } } ChartArea ChartArea3 = new ChartArea(); ChartArea ChartArea2 = new ChartArea(); //ChartArea chart2_3 = new ChartArea(); //ChartArea chart2_2 = new ChartArea(); //Add the charting areas to the chart chart1.ChartAreas.Add(ChartArea2); chart1.ChartAreas.Add(ChartArea3); ChartArea2.Name = "Data Chart Area"; ChartArea3.Name = "Box Plot Area"; //ChartArea3.AlignWithChartArea = "Data Chart Area" ChartArea2.Position.X = 2; ChartArea2.Position.Y = 70; // ChartArea2.AxisX.ScaleBreakStyle.Spacing = .5; // ChartArea3.AxisX.ScaleBreakStyle.StartFromZero = StartFromZero.No //ChartArea2.AxisX.Minimum = 0.5; // ChartArea2.AxisX.Maximum = 7; ChartArea3.Position.X = 2; ChartArea3.Position.Y = 3; // ChartArea2.Position.Height = 92f; // ChartArea2.Position.Width = 90f; // ChartArea3.Position.Height = 92f; // ChartArea3.Position.Width = 90f; // ChartArea2.BackImageTransparentColor = System.Drawing.Color.White; ChartArea3.Position.Height = 92f; ChartArea3.Position.Width = 90f; ChartArea3.AxisX.ScaleBreakStyle.Spacing = .5; // ChartArea3.AxisX.ScaleBreakStyle.StartFromZero = StartFromZero.No ChartArea3.AxisX.Minimum = 0.5; ChartArea3.AxisX.Maximum = 7; // BackGradientStyle = "VerticalCenter" // ChartArea3.ShadowColor = Drawing.Color.Cyan // ChartArea3.BackSecondaryColor = Drawing.Color.FromArgb(128, 255, 255) // ChartArea3.BorderColor = Drawing.Color.Black for (int ii = 0; ii < 6; ii++) { if (ii == 0) { chart2.ChartAreas.Add(chart2_2[ii]); chart2.ChartAreas.Add(chart2_3[ii]); } else if (ii == 1) { chart3.ChartAreas.Add(chart2_2[ii]); chart3.ChartAreas.Add(chart2_3[ii]); } else if (ii == 2) { chart4.ChartAreas.Add(chart2_2[ii]); chart4.ChartAreas.Add(chart2_3[ii]); } else if (ii == 3) { chart5.ChartAreas.Add(chart2_2[ii]); chart5.ChartAreas.Add(chart2_3[ii]); } else if (ii == 4) { chart6.ChartAreas.Add(chart2_2[ii]); chart6.ChartAreas.Add(chart2_3[ii]); } else if (ii == 5) { chart7.ChartAreas.Add(chart2_2[ii]); chart7.ChartAreas.Add(chart2_3[ii]); } // chart2.ChartAreas.Add(chart2_2); // chart2.ChartAreas.Add(chart2_3); chart2_2[ii].Name = "Data Chart Area" + (ii + 1); chart2_3[ii].Name = "Box Plot Area" + (ii + 1); chart2_2[ii].Position.X = 2; chart2_2[ii].Position.Y = 4; chart2_3[ii].Position.X = 60; chart2_3[ii].Position.Y = 4; chart2_2[ii].Position.Height = 92f; chart2_2[ii].Position.Width = 55f; chart2_3[ii].Position.Height = 92f; chart2_3[ii].Position.Width = 30f; chart2_3[ii].AxisX.ScaleBreakStyle.Spacing = .5; chart2_3[ii].AxisX.Minimum = 0.5; chart2_3[ii].AxisX.Maximum = 1.5; chart2_2[ii].AxisY.Maximum = 600; chart2_3[ii].AxisY.Maximum = 600; } for (int jj = 0; jj < 6; jj++) { series3[jj].Name = "BoxPlotLabels" + jj; series3[jj].ChartArea = "Box Plot Area"; series3[jj].ChartType = SeriesChartType.Point; series3[jj].CustomProperties = "LabelStyle=Right"; series3[jj].Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); series3[jj].Legend = "Default"; series4[jj].Name = "BoxPlotLabel" + jj; series4[jj].ChartArea = "Box Plot Area" + (jj + 1); series4[jj].ChartType = SeriesChartType.Point; series4[jj].CustomProperties = "LabelStyle=Right"; series4[jj].Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); series4[jj].Legend = "Default"; } for (int jj = 0; jj < 6; jj++) { DataPoint dataPoint1 = new DataPoint(1 + jj, 0); DataPoint dataPoint2 = new DataPoint(1 + jj, 0); DataPoint dataPoint3 = new DataPoint(1 + jj, 0); DataPoint dataPoint4 = new DataPoint(1 + jj, 0); DataPoint dataPoint5 = new DataPoint(1 + jj, 0); DataPoint dataPoint6 = new DataPoint(1 + jj, 0); DataPoint dataPoint7 = new DataPoint(1 + jj, 0); DataPoint dataPoint8 = new DataPoint(1 + jj, 0); dataPoint1.Color = System.Drawing.Color.Transparent; dataPoint2.Color = System.Drawing.Color.Transparent; dataPoint3.Color = System.Drawing.Color.Transparent; dataPoint4.Color = System.Drawing.Color.Transparent; dataPoint5.Color = System.Drawing.Color.Transparent; dataPoint6.Color = System.Drawing.Color.Transparent; dataPoint7.Color = System.Drawing.Color.Transparent; dataPoint8.Color = System.Drawing.Color.Transparent; series3[jj].Points.Add(dataPoint1); series3[jj].Points.Add(dataPoint2); series3[jj].Points.Add(dataPoint3); series3[jj].Points.Add(dataPoint4); series3[jj].Points.Add(dataPoint5); series3[jj].Points.Add(dataPoint6); series3[jj].Points.Add(dataPoint7); series3[jj].Points.Add(dataPoint8); series3[jj].SmartLabelStyle.Enabled = false; dataPoint1_1[jj] = new DataPoint(1.1, 0);//位置1,0 dataPoint2_1[jj] = new DataPoint(1.1, 0); dataPoint3_1[jj] = new DataPoint(1.1, 0); dataPoint4_1[jj] = new DataPoint(1.1, 0); dataPoint5_1[jj] = new DataPoint(1.1, 0); dataPoint6_1[jj] = new DataPoint(1.1, 0); dataPoint7_1[jj] = new DataPoint(1.1, 0); dataPoint8_1[jj] = new DataPoint(1.1, 0); dataPoint1_1[jj].Color = System.Drawing.Color.Transparent; dataPoint2_1[jj].Color = System.Drawing.Color.Transparent; dataPoint3_1[jj].Color = System.Drawing.Color.Transparent; dataPoint4_1[jj].Color = System.Drawing.Color.Transparent; dataPoint5_1[jj].Color = System.Drawing.Color.Transparent; dataPoint6_1[jj].Color = System.Drawing.Color.Transparent; dataPoint7_1[jj].Color = System.Drawing.Color.Transparent; dataPoint8_1[jj].Color = System.Drawing.Color.Transparent; series4[jj].Points.Add(dataPoint1_1[jj]); series4[jj].Points.Add(dataPoint2_1[jj]); series4[jj].Points.Add(dataPoint3_1[jj]); series4[jj].Points.Add(dataPoint4_1[jj]); series4[jj].Points.Add(dataPoint5_1[jj]); series4[jj].Points.Add(dataPoint6_1[jj]); series4[jj].Points.Add(dataPoint7_1[jj]); series4[jj].Points.Add(dataPoint8_1[jj]); series4[jj].SmartLabelStyle.Enabled = false; } for (int jj = 0; jj < 6; jj++) { DataSeries[jj].Name = "DataSeries" + jj; DataSeries[jj].ChartType = SeriesChartType.Point; DataSeries[jj].ChartArea = "Data Chart Area"; // DataSeries[jj].ChartArea = "Box Plot Area"; //// DataSeries[jj].IsValueShownAsLabel = false; // DataSeries[jj].IsVisibleInLegend = false; DataSeries2[jj].Name = "DataSeries" + jj; DataSeries2[jj].ChartType = SeriesChartType.Point; DataSeries2[jj].ChartArea = "Data Chart Area" + (jj + 1); } BoxPlotSeries.Name = "BoxPlotSeries"; BoxPlotSeries.ChartType = SeriesChartType.BoxPlot; BoxPlotSeries.ChartArea = "Box Plot Area"; // BoxPlotSeries.IsValueShownAsLabel = true; BoxPlotSeries.IsVisibleInLegend = true; BoxPlotSeries.BackGradientStyle = GradientStyle.VerticalCenter; BoxPlotSeries.Color = System.Drawing.Color.Cyan; BoxPlotSeries.BackSecondaryColor = System.Drawing.Color.FromArgb(128, 255, 255); BoxPlotSeries.BorderColor = System.Drawing.Color.Black; chart1.Series.Add(BoxPlotSeries); // Add data to Box Plot Source series. string datastr = ""; for (int jj = 0; jj < 6; jj++) { chart1.Series.Add(series3[jj]); chart1.Series.Add(DataSeries[jj]); chart1.Series[DataSeries[jj].Name].Points.DataBindY(send_comm[jj].yValues); if (jj > 0) { datastr = datastr + ";" + DataSeries[jj].Name; } else { datastr = DataSeries[jj].Name; } } chart1.Series["BoxPlotSeries"]["BoxPlotWhiskerPercentile"] = "0"; chart1.Series["BoxPlotSeries"]["BoxPlotSeries"] = datastr; // Set whiskers 15th percentile. chart1.Series["BoxPlotSeries"]["BoxPlotWhiskerPerc entile"] = "10"; // Show/Hide Average line. chart1.Series["BoxPlotSeries"]["BoxPlotShowAverage "] = "true"; // Show/Hide Median line. chart1.Series["BoxPlotSeries"]["BoxPlotShowMedian"] = "true"; // Show/Hide Unusual points. chart1.Series["BoxPlotSeries"]["BoxPlotShowUnusual Values"] = "true"; // chart1.Series("BoxPlotSeries")("PointWidth") = "0.25" chart1.Series["BoxPlotSeries"]["PointWidth"] = "0.25"; chart1.Series["BoxPlotSeries"].XValueMember = "day of week"; // ChartArea3.AxisX.CustomLabels.Add(0, 2, "Before breakfast"); // ChartArea3.AxisX.CustomLabels.Add(0, 4, "After breakfast"); // ChartArea3.AxisX.CustomLabels.Add(0, 6, "Before lunch"); // ChartArea3.AxisX.CustomLabels.Add(0, 8, "After lunch"); // ChartArea3.AxisX.CustomLabels.Add(0, 10, "Before dinner"); // ChartArea3.AxisX.CustomLabels.Add(0, 12, "After dinner"); ChartArea3.AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dash; ChartArea3.AxisY.MajorGrid.LineDashStyle = ChartDashStyle.Dash; // alu_tp.main_1.TargetMaxOption = int.Parse(alu_tp.main_1.DataTargetMax[i]); // alu_tp.main_1.TargetMinOption = int.Parse(alu_tp.main_1.DataTargetMin[i]); // alu_tp.main_1.TargetMaxOptionp = int.Parse(alu_tp.main_1.DataTargetMaxp[i]); // alu_tp.main_1.TargetMinOptionp = int.Parse(alu_tp.main_1.DataTargetMinp[i]); StripLine s01; if (alu_tp.main_1.TargetMaxOptionp.ToString().Length > 0 || alu_tp.main_1.TargetMinOptionp.ToString().Length > 0) { s01 = new StripLine(); s01.BackColor = Color.FromArgb(248, 199, 213); s01.IntervalOffset = 0; s01.StripWidth = 600; ChartArea3.AxisY.StripLines.Add(s01); for (int jj = 0; jj < 6; jj++) { s01 = new StripLine(); s01.BackColor = Color.FromArgb(248, 199, 213); s01.IntervalOffset = 0; s01.StripWidth = 600; s02[jj] = new StripLine(); s02[jj].BackColor = Color.FromArgb(248, 199, 213); s02[jj].IntervalOffset = 0; s02[jj].StripWidth = 600; chart2_2[jj].AxisY.StripLines.Add(s02[jj]); chart2_3[jj].AxisY.StripLines.Add(s01); } s01 = new StripLine(); s01.BackColor = Color.FromArgb(245, 250, 189); s01.IntervalOffset = Convert.ToInt16(alu_tp.main_1.TargetMinOptionp); s01.StripWidth = Convert.ToInt16(alu_tp.main_1.TargetMaxOptionp) - s01.IntervalOffset; ChartArea3.AxisY.StripLines.Add(s01); for (int jj = 0; jj < 6; jj++) { s01 = new StripLine(); s01.BackColor = Color.FromArgb(245, 250, 189); s01.IntervalOffset = Convert.ToInt16(alu_tp.main_1.TargetMinOptionp); s01.StripWidth = Convert.ToInt16(alu_tp.main_1.TargetMaxOptionp) - s01.IntervalOffset; s02[jj] = new StripLine(); s02[jj].BackColor = Color.FromArgb(245, 250, 189); s02[jj].IntervalOffset = Convert.ToInt16(alu_tp.main_1.TargetMinOptionp); s02[jj].StripWidth = Convert.ToInt16(alu_tp.main_1.TargetMaxOptionp) - s02[jj].IntervalOffset; chart2_2[jj].AxisY.StripLines.Add(s02[jj]); chart2_3[jj].AxisY.StripLines.Add(s01); } } if (alu_tp.main_1.TargetMaxOption.ToString().Length > 0 || alu_tp.main_1.TargetMinOption.ToString().Length > 0) { s01 = new StripLine(); s01.BackColor = Color.FromArgb(190, 251, 210); s01.IntervalOffset = Convert.ToInt16(alu_tp.main_1.TargetMinOption); s01.StripWidth = Convert.ToInt16(alu_tp.main_1.TargetMaxOption) - s01.IntervalOffset; ChartArea3.AxisY.StripLines.Add(s01); for (int jj = 0; jj < 6; jj++) { s01 = new StripLine(); s01.BackColor = Color.FromArgb(190, 251, 210); s01.IntervalOffset = Convert.ToInt16(alu_tp.main_1.TargetMinOption); s01.StripWidth = Convert.ToInt16(alu_tp.main_1.TargetMaxOption) - s01.IntervalOffset; s02[jj] = new StripLine(); s02[jj].BackColor = Color.FromArgb(190, 251, 210); s02[jj].IntervalOffset = Convert.ToInt16(alu_tp.main_1.TargetMinOption); s02[jj].StripWidth = Convert.ToInt16(alu_tp.main_1.TargetMaxOption) - s02[jj].IntervalOffset; chart2_2[jj].AxisY.StripLines.Add(s02[jj]); chart2_3[jj].AxisY.StripLines.Add(s01); } } for (int jj = 0; jj < 6; jj++) { chart1.Series[DataSeries[jj].Name].Enabled = false; } //////////////////////// for (int jj = 0; jj < 6; jj++) { BoxPlotSeries2[jj].Name = "BoxPlotSeries"; BoxPlotSeries2[jj].ChartType = SeriesChartType.BoxPlot; BoxPlotSeries2[jj].ChartArea = "Box Plot Area" + (jj + 1); // BoxPlotSeries.IsValueShownAsLabel = true; BoxPlotSeries2[jj].IsVisibleInLegend = true; BoxPlotSeries2[jj].BackGradientStyle = GradientStyle.VerticalCenter; BoxPlotSeries2[jj].Color = System.Drawing.Color.Cyan; BoxPlotSeries2[jj].BackSecondaryColor = System.Drawing.Color.FromArgb(128, 255, 255); BoxPlotSeries2[jj].BorderColor = System.Drawing.Color.Black; if (jj == 0) { chart2.Series.Add(BoxPlotSeries2[jj]); } else if (jj == 1) { chart3.Series.Add(BoxPlotSeries2[jj]); } else if (jj == 2) { chart4.Series.Add(BoxPlotSeries2[jj]); } else if (jj == 3) { chart5.Series.Add(BoxPlotSeries2[jj]); } else if (jj == 4) { chart6.Series.Add(BoxPlotSeries2[jj]); } else if (jj == 5) { chart7.Series.Add(BoxPlotSeries2[jj]); } } datastr = ""; for (int jj = 0; jj < 1; jj++) { chart2.Series.Add(series4[jj]); chart2.Series.Add(DataSeries2[jj]); chart2.Series[DataSeries2[jj].Name].Points.DataBindY(send_comm[jj].yValues); datastr = DataSeries2[jj].Name; } chart2.Series["BoxPlotSeries"]["BoxPlotWhiskerPercentile"] = "0"; chart2.Series["BoxPlotSeries"]["BoxPlotSeries"] = datastr; // Set whiskers 15th percentile. chart2.Series["BoxPlotSeries"]["BoxPlotWhiskerPerc entile"] = "10"; // Show/Hide Average line. chart2.Series["BoxPlotSeries"]["BoxPlotShowAverage "] = "true"; // Show/Hide Median line. chart2.Series["BoxPlotSeries"]["BoxPlotShowMedian"] = "true"; // Show/Hide Unusual points. chart2.Series["BoxPlotSeries"]["BoxPlotShowUnusual Values"] = "true"; // chart1.Series("BoxPlotSeries")("PointWidth") = "0.25" chart2.Series["BoxPlotSeries"]["PointWidth"] = "0.15"; chart2.Series["BoxPlotSeries"].XValueMember = "day of week"; datastr = ""; for (int jj = 1; jj < 2; jj++) { chart3.Series.Add(series4[jj]); chart3.Series.Add(DataSeries2[jj]); chart3.Series[DataSeries2[jj].Name].Points.DataBindY(send_comm[jj].yValues); datastr = DataSeries2[jj].Name; } chart3.Series["BoxPlotSeries"]["BoxPlotWhiskerPercentile"] = "0"; chart3.Series["BoxPlotSeries"]["BoxPlotSeries"] = datastr; // Se3t whiskers 15th percentile. chart3.Series["BoxPlotSeries"]["BoxPlotWhiskerPerc entile"] = "10"; // Show/Hide Average line. chart3.Series["BoxPlotSeries"]["BoxPlotShowAverage "] = "true"; // Show/Hide Median line. chart3.Series["BoxPlotSeries"]["BoxPlotShowMedian"] = "true"; // Show/Hide Unusual points. chart3.Series["BoxPlotSeries"]["BoxPlotShowUnusual Values"] = "true"; // chart1.Series("BoxPlotSeries")("PointWidth") = "0.25" chart3.Series["BoxPlotSeries"]["PointWidth"] = "0.15"; chart3.Series["BoxPlotSeries"].XValueMember = "day of week"; datastr = ""; for (int jj = 2; jj < 3; jj++) { chart4.Series.Add(series4[jj]); chart4.Series.Add(DataSeries2[jj]); chart4.Series[DataSeries2[jj].Name].Points.DataBindY(send_comm[jj].yValues); datastr = DataSeries2[jj].Name; } chart4.Series["BoxPlotSeries"]["BoxPlotWhiskerPercentile"] = "0"; chart4.Series["BoxPlotSeries"]["BoxPlotSeries"] = datastr; // Se3t whiskers 15th percentile. chart4.Series["BoxPlotSeries"]["BoxPlotWhiskerPerc entile"] = "10"; // Show/Hide Average line. chart4.Series["BoxPlotSeries"]["BoxPlotShowAverage "] = "true"; // Show/Hide Median line. chart4.Series["BoxPlotSeries"]["BoxPlotShowMedian"] = "true"; // Show/Hide Unusual points. chart4.Series["BoxPlotSeries"]["BoxPlotShowUnusual Values"] = "true"; // chart1.Series("BoxPlotSeries")("PointWidth") = "0.25" chart4.Series["BoxPlotSeries"]["PointWidth"] = "0.15"; chart4.Series["BoxPlotSeries"].XValueMember = "day of week"; datastr = ""; for (int jj = 3; jj < 4; jj++) { chart5.Series.Add(series4[jj]); chart5.Series.Add(DataSeries2[jj]); chart5.Series[DataSeries2[jj].Name].Points.DataBindY(send_comm[jj].yValues); datastr = DataSeries2[jj].Name; } chart5.Series["BoxPlotSeries"]["BoxPlotWhiskerPercentile"] = "0"; chart5.Series["BoxPlotSeries"]["BoxPlotSeries"] = datastr; // Se3t whiskers 15th percentile. chart5.Series["BoxPlotSeries"]["BoxPlotWhiskerPerc entile"] = "10"; // Show/Hide Average line. chart5.Series["BoxPlotSeries"]["BoxPlotShowAverage "] = "true"; // Show/Hide Median line. chart5.Series["BoxPlotSeries"]["BoxPlotShowMedian"] = "true"; // Show/Hide Unusual points. chart5.Series["BoxPlotSeries"]["BoxPlotShowUnusual Values"] = "true"; // chart1.Series("BoxPlotSeries")("PointWidth") = "0.25" chart5.Series["BoxPlotSeries"]["PointWidth"] = "0.15"; chart5.Series["BoxPlotSeries"].XValueMember = "day of week"; datastr = ""; for (int jj = 4; jj < 5; jj++) { chart6.Series.Add(series4[jj]); chart6.Series.Add(DataSeries2[jj]); chart6.Series[DataSeries2[jj].Name].Points.DataBindY(send_comm[jj].yValues); datastr = DataSeries2[jj].Name; } chart6.Series["BoxPlotSeries"]["BoxPlotWhiskerPercentile"] = "0"; chart6.Series["BoxPlotSeries"]["BoxPlotSeries"] = datastr; // Se3t whiskers 15th percentile. chart6.Series["BoxPlotSeries"]["BoxPlotWhiskerPerc entile"] = "10"; // Show/Hide Average line. chart6.Series["BoxPlotSeries"]["BoxPlotShowAverage "] = "true"; // Show/Hide Median line. chart6.Series["BoxPlotSeries"]["BoxPlotShowMedian"] = "true"; // Show/Hide Unusual points. chart6.Series["BoxPlotSeries"]["BoxPlotShowUnusual Values"] = "true"; // chart1.Series("BoxPlotSeries")("PointWidth") = "0.25" chart6.Series["BoxPlotSeries"]["PointWidth"] = "0.15"; chart6.Series["BoxPlotSeries"].XValueMember = "day of week"; datastr = ""; for (int jj = 5; jj < 6; jj++) { chart7.Series.Add(series4[jj]); chart7.Series.Add(DataSeries2[jj]); chart7.Series[DataSeries2[jj].Name].Points.DataBindY(send_comm[jj].yValues); datastr = DataSeries2[jj].Name; } chart7.Series["BoxPlotSeries"]["BoxPlotWhiskerPercentile"] = "0"; chart7.Series["BoxPlotSeries"]["BoxPlotSeries"] = datastr; // Se7t whiskers 15th percentile. chart7.Series["BoxPlotSeries"]["BoxPlotWhiskerPerc entile"] = "10"; // Show/Hide Average line. chart7.Series["BoxPlotSeries"]["BoxPlotShowAverage "] = "true"; // Show/Hide Median line. chart7.Series["BoxPlotSeries"]["BoxPlotShowMedian"] = "true"; // Show/Hide Unusual points. chart7.Series["BoxPlotSeries"]["BoxPlotShowUnusual Values"] = "true"; // chart1.Series("BoxPlotSeries")("PointWidth") = "0.25" chart7.Series["BoxPlotSeries"]["PointWidth"] = "0.15"; chart7.Series["BoxPlotSeries"].XValueMember = "day of week"; chart2_3[0].AxisX.CustomLabels.Add(0, 2, "Before breakfast"); chart2_3[1].AxisX.CustomLabels.Add(0, 2, "After breakfast"); chart2_3[2].AxisX.CustomLabels.Add(0, 2, "Before lunch"); chart2_3[3].AxisX.CustomLabels.Add(0, 2, "After lunch"); chart2_3[4].AxisX.CustomLabels.Add(0, 2, "Before dinner"); chart2_3[5].AxisX.CustomLabels.Add(0, 2, "After dinner"); //////////////////////////// }
private void loadData() { System.Data.DataView dv; chart1.Series.Clear(); chart1.Series.Add(alu_tp.main_1.rm_txt.GetString("ChartNormal")); chart1.Series.Add(alu_tp.main_1.rm_txt.GetString("OutTheNormal")); chart1.Series.Add(alu_tp.main_1.rm_txt.GetString("OutTheLimit")); chart1.Series[alu_tp.main_1.rm_txt.GetString("ChartNormal")].ChartType = SeriesChartType.StackedColumn100; chart1.Series[alu_tp.main_1.rm_txt.GetString("OutTheNormal")].ChartType = SeriesChartType.StackedColumn100; chart1.Series[alu_tp.main_1.rm_txt.GetString("OutTheLimit")].ChartType = SeriesChartType.StackedColumn100; //dv = MainModule.SetGlucoseToTimeSet(); 2015.01.29 denny //DataView dv1 = MainModule.AccessDatabasesel("SELECT format(TestTime, 'YYYY-MM-DD') AS TestT, GlucoseData,m_Event,time_IDX FROM glucose where MeterID='" + alu_tp.main_1.MeterIDNo + "' ORDER BY TestTime DESC"); 2015.01.29 denny dv = MainModule.AccessDatabasesel("SELECT * FROM glucose where MeterID='" + alu_tp.main_1.MeterIDNo + "' ORDER BY TestTime DESC"); // 2015.01.29 denny for (int jj = 0; jj < 9; jj++) { drange[jj] = new range1(); drange[jj].below = 0; drange[jj].within = 0; drange[jj].above = 0; } for (int data_count = 0; data_count < dv.Count; data_count++) { if ((int)dv.Table.Rows[data_count].ItemArray[dv.Table.Columns.IndexOf("GlucoseData")] == 0) { } else if ((int)dv.Table.Rows[data_count].ItemArray[dv.Table.Columns.IndexOf("GlucoseData")] < alu_tp.main_1.TargetMinOptionp) { drange[(int)dv.Table.Rows[data_count].ItemArray[dv.Table.Columns.IndexOf("TIME_IDX")] - 1].below++; } else if ((int)dv.Table.Rows[data_count].ItemArray[dv.Table.Columns.IndexOf("GlucoseData")] < alu_tp.main_1.TargetMinOption) { drange[(int)dv.Table.Rows[data_count].ItemArray[dv.Table.Columns.IndexOf("TIME_IDX")] - 1].above++; } else if ((int)dv.Table.Rows[data_count].ItemArray[dv.Table.Columns.IndexOf("GlucoseData")] > alu_tp.main_1.TargetMaxOptionp) { drange[(int)dv.Table.Rows[data_count].ItemArray[dv.Table.Columns.IndexOf("TIME_IDX")] - 1].below++; } else if ((int)dv.Table.Rows[data_count].ItemArray[dv.Table.Columns.IndexOf("GlucoseData")] > alu_tp.main_1.TargetMaxOption) { drange[(int)dv.Table.Rows[data_count].ItemArray[dv.Table.Columns.IndexOf("TIME_IDX")] - 1].above++; } else { drange[(int)dv.Table.Rows[data_count].ItemArray[dv.Table.Columns.IndexOf("TIME_IDX")] - 1].within++; } } /*// 2015.01.29 denny * for (int jj = 0; jj < dv.Count; jj++) * { * for (int ii = 0; ii < 9; ii++) * { * string eestr = "Expr" + (ii + 1); * if (Convert.ToInt16(dv[jj].Row[eestr]) == 0) { } * else if (Convert.ToInt16(dv[jj].Row[eestr]) < alu_tp.main_1.TargetMinOptionp) drange[ii].below++; * else if (Convert.ToInt16(dv[jj].Row[eestr]) < alu_tp.main_1.TargetMinOption) drange[ii].above++; * else if (Convert.ToInt16(dv[jj].Row[eestr]) > alu_tp.main_1.TargetMaxOptionp) drange[ii].below++; * else if (Convert.ToInt16(dv[jj].Row[eestr]) > alu_tp.main_1.TargetMaxOption) drange[ii].above++; * else drange[ii].within++; * * * dv1.RowFilter = "TestT= '" + Convert.ToString(dv[jj].Row[0]) + "' and time_IDX='" + Convert.ToString(ii + 1) + "' and GlucoseData <> '" + Convert.ToInt16(dv[jj].Row[eestr]) + "' and GlucoseData <> '0'"; * * if (dv1.Count > 0) * { * for (int t1 = 0; t1 < dv1.Count; t1++) * { * if (dv1[t1].Row["GlucoseData"].ToString().Length == 0) { } * else if (Convert.ToInt16(dv1[t1].Row["GlucoseData"]) < alu_tp.main_1.TargetMinOptionp) drange[ii].below++; * else if (Convert.ToInt16(dv1[t1].Row["GlucoseData"]) < alu_tp.main_1.TargetMinOption) drange[ii].above++; * else if (Convert.ToInt16(dv1[t1].Row["GlucoseData"]) > alu_tp.main_1.TargetMaxOptionp) drange[ii].below++; * else if (Convert.ToInt16(dv1[t1].Row["GlucoseData"]) > alu_tp.main_1.TargetMaxOption) drange[ii].above++; * else drange[ii].within++; * } * } * } * } *///2015.01.29 denny for (int jj = 0; jj < 9; jj++) { chart1.Series[alu_tp.main_1.rm_txt.GetString("OutTheLimit")].Points.AddY((double)drange[jj].below); chart1.Series[alu_tp.main_1.rm_txt.GetString("OutTheNormal")].Points.AddY((double)drange[jj].above); chart1.Series[alu_tp.main_1.rm_txt.GetString("ChartNormal")].Points.AddY((double)drange[jj].within); } for (int jj = 0; jj < 9; jj++) { this.chart1.ChartAreas["ChartArea1"].AxisX.CustomLabels.Add(0, 2 * (jj + 1), alu_tp.timgp[jj].time_on + "-" + alu_tp.timgp[jj].time_off); } chart1.Series[alu_tp.main_1.rm_txt.GetString("OutTheLimit")].IsValueShownAsLabel = true; chart1.Series[alu_tp.main_1.rm_txt.GetString("OutTheNormal")].IsValueShownAsLabel = true; chart1.Series[alu_tp.main_1.rm_txt.GetString("ChartNormal")].IsValueShownAsLabel = true; }
private void loginButton1_Click(object sender, EventArgs e) { // MessageBox.Show("1"); //string FileName; string CheckName = comboBox1.Text; string CheckPassword = TextPasswd.Text; // string FILE_NAME = alu_tp.main_1.MAIN_PATH + "\\HMDregister.txt"; System.Data.DataView dv1; if (CheckName == "guest") { alu_tp.main_1.FileName = "guest"; alu_tp.main_1.ReportName = alu_tp.main_1.FileName; TextPasswd.Text = ""; dv1 = MainModule.AccessDatabasesel("SELECT * FROM HmdRegister where id='" + CheckName + "'"); if (dv1.Count > 0) { alu_tp.main_1.FileName = dv1[0].Row["idx"].ToString(); alu_tp.main_1.CPortOption = 1; alu_tp.main_1.serialPort1.PortName = Convert.ToString(dv1[0].Row["RS_232"]); alu_tp.main_1.UnitOption = Convert.ToInt16(dv1[0].Row["Unit1"]); alu_tp.main_1.TimeOption = Convert.ToInt16(dv1[0].Row["Time1"]); alu_tp.main_1.TargetMaxOption = Convert.ToInt16(dv1[0].Row["Max1"]); alu_tp.main_1.TargetMinOption = Convert.ToInt16(dv1[0].Row["Min1"]); alu_tp.main_1.TargetMaxOptionp = Convert.ToInt16(dv1[0].Row["Maxp"]); alu_tp.main_1.TargetMinOptionp = Convert.ToInt16(dv1[0].Row["Minp"]); } else { alu_tp.main_1.serialPort1.PortName = "COM1"; alu_tp.main_1.UnitOption = 1; alu_tp.main_1.TimeOption = 1; alu_tp.main_1.TargetMaxOption = 180; alu_tp.main_1.TargetMinOption = 50; alu_tp.main_1.TargetMaxOptionp = 300; alu_tp.main_1.TargetMinOptionp = 30; } } else { if (CheckPassword == "") { MessageBox.Show("ID OR PASSWORD ERROR!!", "LOGIN ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); goto EndAndAgain; } dv1 = MainModule.AccessDatabasesel("SELECT * FROM HmdRegister where id='" + CheckName + "' and Passwd='" + CheckPassword + "'"); if (dv1.Count == 0) { MessageBox.Show("ID [" + CheckName + "] ! PASSWORD ERROR !", "Glucose Management Software", MessageBoxButtons.OK, MessageBoxIcon.Error); TextPasswd.Text = ""; goto EndAndAgain; } else { alu_tp.main_1.FileName = dv1[0].Row["idx"].ToString(); alu_tp.main_1.ReportName = CheckName; alu_tp.main_1.CPortOption = 1; alu_tp.main_1.serialPort1.PortName = Convert.ToString(dv1[0].Row["RS_232"]); alu_tp.main_1.UnitOption = Convert.ToInt16(dv1[0].Row["Unit1"]); alu_tp.main_1.TimeOption = Convert.ToInt16(dv1[0].Row["Time1"]); alu_tp.main_1.TargetMaxOption = Convert.ToInt16(dv1[0].Row["Max1"]); alu_tp.main_1.TargetMinOption = Convert.ToInt16(dv1[0].Row["Min1"]); alu_tp.main_1.TargetMaxOptionp = Convert.ToInt16(dv1[0].Row["Maxp"]); alu_tp.main_1.TargetMinOptionp = Convert.ToInt16(dv1[0].Row["Minp"]); } // MessageBox.Show("4"); //for (int i = 1; i < alu_tp.main_1.oldtotal; i++) //{ // if (alu_tp.main_1.DataName[i] == CheckName) // { // if (alu_tp.main_1.DataPswd[i] == CheckPassword) // { // alu_tp.main_1.FileName = alu_tp.main_1.DataName[i]; // alu_tp.main_1.ReportName = alu_tp.main_1.FileName; // //if (!File.Exists(alu_tp.main_1.MAIN_PATH + "\\" + alu_tp.main_1.FileName + ".txt")) // //{ // // FileInfo f = new FileInfo(alu_tp.main_1.MAIN_PATH + "\\" + alu_tp.main_1.FileName + ".txt"); // // StreamWriter sw = f.CreateText(); // // sw.WriteLine("Test_No,Glucose,Month,Day,Hour,Minute,Event,Glucose_mmol,Year,Date & Time"); // 寫入文字 // // sw.WriteLine("T0000,00000,00,00,00,00,0000,00000,0000,000000000000000000"); // // sw.Flush(); // // sw.Close(); // //} // } // else // { //} //} } // MessageBox.Show("5"); ////for (int i = 0; i < alu_tp.main_1.oldtotal; i++) ////{ //// if (alu_tp.main_1.DataName[i] == CheckName) //// { //// alu_tp.main_1.CPortOption = int.Parse(alu_tp.main_1.DataPortType[i]); //// alu_tp.main_1.serialPort1.PortName ="COM"+ Convert.ToString( int.Parse(alu_tp.main_1.DataPortType[i])); //// alu_tp.main_1.UnitOption = int.Parse(alu_tp.main_1.DataUnitType[i]); //// alu_tp.main_1.TimeOption = int.Parse(alu_tp.main_1.DataTimeType[i]); //// //alu_tp.main_1.TargetMaxOption = int.Parse(alu_tp.main_1.DataTargetMax[i]); //// //alu_tp.main_1.TargetMinOption = int.Parse(alu_tp.main_1.DataTargetMin[i]); //// //alu_tp.main_1.TargetMaxOptionp = int.Parse(alu_tp.main_1.DataTargetMaxp[i]); //// //alu_tp.main_1.TargetMinOptionp = int.Parse(alu_tp.main_1.DataTargetMinp[i]); //// } ////} //{ // FileName = "c:\\guest.txt"; // if (!File.Exists(FileName)) // { // FileInfo f = new FileInfo(FileName); // StreamWriter sw = f.CreateText(); // sw.WriteLine("Test_No,Glucose,Month,Day,Hour,Minute,Event,Glucose_mmol,Year,Date & Time"); // 寫入文字 // sw.WriteLine("T0000,00000,00,00,00,00,0000,00000,0000,000000000000000000"); // sw.Flush(); // sw.Close(); // } //} // MessageBox.Show("1"); // readOldDataFrom fg1 = new readOldDataFrom(); // fg1.Show(); MainModule.readOldData(); // this.Hide(); mainForm fg = new mainForm(); fg.Show(); this.Hide(); EndAndAgain :; }