private void SetKpiSignalGrid() { Biz_Bsc_Kpi_Threshold_Info objBSC = new Biz_Bsc_Kpi_Threshold_Info(); //DataSet dsSignal = objBSC.GetSignalListPerKpi(this.IEstTermRefID, this.IKpiRefID, this.IMeasurementStep); DataSet dsSignal = objBSC.GetSignalListPerKpiWithBiz(this.IEstTermRefID, this.IKpiRefID, this.IMeasurementStep); grvSignal.DataSource = dsSignal.Tables[0].DefaultView; grvSignal.DataBind(); //ugrdSignal.Clear(); //ugrdSignal.Rows.Clear(); //ugrdSignal.DataSource = dsSignal; //ugrdSignal.DataBind(); this.drawGrade(); startYY = 0; DataSet dsTRStatus = objBSC.GetTargetResultPerYear(this.IEstTermRefID, this.IKpiRefID, out startYY); //ugrdTRStatus.Clear(); //ugrdTRStatus.DataSource = dsTRStatus; //ugrdTRStatus.DataBind(); }
private void drawGrade() { DundasCharts.DundasChartBase(chartScore, ChartImageType.Png, 350, 170 , BorderSkinStyle.Emboss, Color.FromArgb(181, 64, 1), 2 , Color.FromArgb(0xFF, 0xFF, 0xFE) , Color.FromArgb(0xFF, 0xFF, 0xFE), Color.FromArgb(0x20, 0x80, 0xD0), ChartDashStyle.Solid , -1 , ChartHatchStyle.None, GradientType.TopBottom, AntiAliasing.None); startYY = 0; Biz_Bsc_Kpi_Threshold_Info objBSC = new Biz_Bsc_Kpi_Threshold_Info(); DataSet dsLine = objBSC.GetTargetPerGrade(this.IEstTermRefID, this.IKpiRefID, out startYY); int cntRow = dsLine.Tables[0].Rows.Count; int cntCol = dsLine.Tables[0].Columns.Count; if (startYY < 1) { return; } try { //================================================================== LINE GRAPH for (int i = cntCol - 1; i > 0; i--) { dsLine.Tables[0].Columns[i].ColumnName = dsLine.Tables[0].Columns[i].ColumnName.Substring(0, 2) == "YY" ? Convert.ToString(startYY) + "년" : dsLine.Tables[0].Columns[i].ColumnName; startYY = startYY - 1; } Series[] oasrType = new Series[cntRow]; int intLP = 0; for (int i = 0; i < cntRow; i++) { oasrType[intLP] = DundasCharts.CreateSeries (chartScore, "Series" + intLP.ToString(), chartScore.ChartAreas[0].Name, dsLine.Tables[0].Rows[i]["THRESHOLD_ENAME"].ToString(), null, (i == 0) ? SeriesChartType.Column : SeriesChartType.Line, (i == 0) ? 0 : 3, (intLP == 0) ? Color.Blue : GetSignalColor(intLP - 1), GetChartColor(intLP), Color.FromArgb(64, 0, 0, 0), 1, 9, Color.FromArgb(64, 64, 64)); for (int j = 2; j < cntCol; j++) { oasrType[intLP].Points.AddXY(dsLine.Tables[0].Columns[j].ColumnName , double.Parse(dsLine.Tables[0].Rows[i][j].ToString())); } intLP += 1; } if (intLP > 0) { oasrType[intLP - 1].ValueMemberX = "THRESHOLD_ENAME"; } string strVirDir = Request.CurrentExecutionFilePath; strVirDir = strVirDir.Substring(0, strVirDir.LastIndexOf('/')); string strCurDir = Server.MapPath("."); string strImgDir = "/ChartImages/"; string strFileNm = System.Guid.NewGuid().ToString() + ".Png"; string strFullNm = (strCurDir + strImgDir + strFileNm); if (!Directory.Exists(strCurDir + strImgDir)) { Directory.CreateDirectory(strCurDir + strImgDir); } if (!File.Exists(strFullNm)) { File.Delete(strFullNm); } chartScore.Save(strFullNm, ChartImageFormat.Png); imgChart.ImageUrl = strVirDir + strImgDir + strFileNm; } catch (Exception ex) { string rtnMsg = ex.Message; } }