public MDGenGraph GenGraph(string mc_code, string model, string DateStart, string DateEnd) { MDGenGraph oMDGen = new MDGenGraph(); DataTable dTable = new DataTable(); SqlCommand sql = new SqlCommand(); sql.CommandText = "[dbo].[GenData] @mc_code,@model,@DateStart,@DateEnd"; sql.Parameters.Add(new SqlParameter("@mc_code", mc_code)); sql.Parameters.Add(new SqlParameter("@model", model)); sql.Parameters.Add(new SqlParameter("@DateStart", DateStart)); sql.Parameters.Add(new SqlParameter("@DateEnd", DateEnd)); dTable = oConn.Query(sql); if (dTable.Rows.Count > 0) { foreach (DataRow row in dTable.Rows) { MDGenGraph.CMDGenGraph oMD = new MDGenGraph.CMDGenGraph(); oMD.Date = row["DataDate"].ToString(); oMD.QtyOK = row["QtyOK"] != DBNull.Value ? Convert.ToInt32(row["QtyOK"]) : 0; oMD.QtyNG = row["QtyNG"] != DBNull.Value ? Convert.ToInt32(row["QtyNG"]) : 0; oMD.DataDateStart = row["DataDatetimeStart"].ToString(); oMD.DataDateEnd = row["DataDatetimeEnd"].ToString(); oMD.MachineCode = row["MachineCode"].ToString(); oMD.MachineName = row["MachineName"].ToString(); oMD.ModelCode = row["ModelCode"].ToString(); oMD.ModelName = row["ModelName"].ToString(); oMDGen.ListOfData.Add(oMD); } } return(oMDGen); }
public string LoadGraph() { string result = ""; MDGenGraph oMDGenGraph = new MDGenGraph(); oMDGenGraph = oGenGraph.GenGraph(ViewState["mc_code"].ToString(), ddlModel.SelectedValue, txtDateStart.Text.Trim(), txtDateEnd.Text.Trim()); if (oMDGenGraph.ListOfData.Count > 0) { string Title = "";//ddlLine.SelectedItem.Text + " : " + ddlMachine.SelectedItem.Text; Title = lbPDLine.Text + " : " + lbMachine.Text; string SubTitle = "Model: " + ddlModel.SelectedItem.Text + " : From " + oMDGenGraph.ListOfData[0].DataDateStart + " To " + oMDGenGraph.ListOfData[0].DataDateEnd; result += @" <script>"+ Environment.NewLine; result += @" Highcharts.chart('container', {" + Environment.NewLine; result += @" chart: {" + Environment.NewLine; result += @" type: 'column'" + Environment.NewLine; result += @" }," + Environment.NewLine; result += @" title: {" + Environment.NewLine; result += @" text: '" + Title + "'" + Environment.NewLine; result += @" }," + Environment.NewLine; result += @" subtitle: {" + Environment.NewLine; result += @" text: '" + SubTitle + "'" + Environment.NewLine; result += @" }," + Environment.NewLine; result += @" xAxis: {" + Environment.NewLine; result += @" categories: [" + Environment.NewLine; for (int i = 0; i < oMDGenGraph.ListOfData.Count; i++) { if (i == oMDGenGraph.ListOfData.Count) { result += @" '" + Convert.ToDateTime(oMDGenGraph.ListOfData[i].Date).ToString("dd MMM yyyy") + "'" + Environment.NewLine; } else { result += @" '" + Convert.ToDateTime(oMDGenGraph.ListOfData[i].Date).ToString("dd MMM yyyy") + "'," + Environment.NewLine; } } result += @" ]," + Environment.NewLine; result += @" crosshair: true" + Environment.NewLine; result += @" }," + Environment.NewLine; result += @" yAxis: {" + Environment.NewLine; result += @" min: 0," + Environment.NewLine; result += @" title: {" + Environment.NewLine; result += @" text: 'Quantity (PCS)'" + Environment.NewLine; result += @" }" + Environment.NewLine; result += @" }," + Environment.NewLine; result += @" tooltip: {" + Environment.NewLine; result += @" headerFormat: '<span style=""font-size:10px/"">{point.key}</span><table>'," + Environment.NewLine; result += @" pointFormat: '<tr><td style=""color: {series.color}; padding: 0"">{series.name}: </td>' +" + Environment.NewLine; result += @" '<td style=""padding: 0""><b>{point.y}</b></td></tr>'," + Environment.NewLine; result += @" footerFormat: '</table>'," + Environment.NewLine; result += @" shared: true," + Environment.NewLine; result += @" useHTML: true" + Environment.NewLine; result += @" }," + Environment.NewLine; result += @" plotOptions: {" + Environment.NewLine; result += @" column: {" + Environment.NewLine; result += @" pointPadding: 0.2," + Environment.NewLine; result += @" borderWidth: 0" + Environment.NewLine; result += @" }," + Environment.NewLine; result += @" series: {" + Environment.NewLine; result += @" borderWidth: 0," + Environment.NewLine; result += @" dataLabels: {" + Environment.NewLine; result += @" enabled: true," + Environment.NewLine; result += @" format: '{point.y}'" + Environment.NewLine; result += @" }" + Environment.NewLine; result += @" }" + Environment.NewLine; result += @" }," + Environment.NewLine; result += @" series: [{" + Environment.NewLine; result += @" name: 'OK'," + Environment.NewLine; result += @" data: [" + Environment.NewLine; for (int i = 0; i < oMDGenGraph.ListOfData.Count; i++) { if (i == oMDGenGraph.ListOfData.Count) { result += @" " + oMDGenGraph.ListOfData[i].QtyOK + ""; } else { result += @" " + oMDGenGraph.ListOfData[i].QtyOK + "," + Environment.NewLine; } } result += @" ]" + Environment.NewLine; result += @" }, {" + Environment.NewLine; result += @" name: 'NG'," + Environment.NewLine; result += @" data: [" + Environment.NewLine; for (int i = 0; i < oMDGenGraph.ListOfData.Count; i++) { if (i == oMDGenGraph.ListOfData.Count) { result += @" " + oMDGenGraph.ListOfData[i].QtyNG + ""; } else { result += @" " + oMDGenGraph.ListOfData[i].QtyNG + "," + Environment.NewLine; } } result += @" ]" + Environment.NewLine; result += @" }]" + Environment.NewLine; result += @" });" + Environment.NewLine; result += @" </script>" + Environment.NewLine; } else { result += @"<div><h4>No Data!</h4></div>" + Environment.NewLine; } return(result); }