此篇中先展示效果,隨后再解釋代碼
如圖所示乱灵,有一個(gè)柱狀圖有一條折線(xiàn)圖
其中柱狀圖顯示的是我從后臺(tái)獲取的數(shù)據(jù)
折線(xiàn)圖顯示的是第二個(gè)Y軸所表示的完成率
想要讓前臺(tái)顯示出柱狀圖(此處省略建前臺(tái)畫(huà)面的介紹)
在畫(huà)面中先拖入一個(gè)chartcontrol,點(diǎn)右上角的1>箭頭丸边,會(huì)出現(xiàn)series
點(diǎn)擊add后會(huì)讓你選擇你要添加的chart的類(lèi)別
選擇bar close
前臺(tái)代碼如下
private void FormOIMMHP01_Load(object sender, EventArgs e)
{
Series1();
//Series2();
}
private void Series1()
{
//string REC_CREATE_TIME = DateTime.Now.AddMonths(-1).AddDays(1 - DateTime.Now.Day).ToString("yyyyMMdd");
//string REC_CREATE_TIME2 = DateTime.Now.AddDays(-DateTime.Now.Day).ToString("yyyyMMdd");
DataTable data = new DataTable();
DataTable datasum = new DataTable();
string WORKDATE = DateTime.Now.ToString("yyyyMMdd");
EI.EIInfo inBlock = new EI.EIInfo();
EI.EIInfo outBlock;
inBlock.Tables[0].Columns.Add("WORKDATE", typeof(String));
//inBlock.Tables[0].Columns.Add("kind", typeof(int));
//inBlock.Tables[0].Rows.Add(REC_CREATE_TIME == null ? " " : REC_CREATE_TIME, REC_CREATE_TIME2 == null ? "99999999" : REC_CREATE_TIME2, 0);
inBlock.Tables[0].Rows.Add(WORKDATE == null ? " " : WORKDATE);
outBlock = EI.EITuxedo.CallService("oimmhp01f2_inq", inBlock);
chartControl1.Series.Clear();
data = outBlock.Tables[0];
try
{
Series series1 = new Series("日產(chǎn)量", ViewType.Bar);
Series series2 = new Series("月累計(jì)", ViewType.Bar);
Series series3 = new Series("計(jì)劃量", ViewType.Bar);
chartControl1.Series.Add(series1);
series1.DataSource = data;
series1.ArgumentScaleType = ScaleType.Auto;
series1.ArgumentDataMember = "PROD_CODE_CNAME";
series1.ValueScaleType = ScaleType.Numerical;
series1.ValueDataMembers.AddRange(new string[] { "PROD_CODE_VALUE_D" });
((BarSeriesView)series1.View).BarWidth = 0.5;
chartControl1.Series.Add(series2);
series2.DataSource = data;
series2.ArgumentScaleType = ScaleType.Auto;
series2.ArgumentDataMember = "PROD_CODE_CNAME";
series2.ValueScaleType = ScaleType.Numerical;
series2.ValueDataMembers.AddRange(new string[] { "PROD_CODE_VALUE_M" });
((BarSeriesView)series2.View).BarWidth = 0.5;
chartControl1.Series.Add(series3);
series3.DataSource = data;
series3.ArgumentScaleType = ScaleType.Auto;
series3.ArgumentDataMember = "PROD_CODE_CNAME";
series3.ValueScaleType = ScaleType.Numerical;
series3.ValueDataMembers.AddRange(new string[] { "PROD_CODE_VALUE_P" });
((BarSeriesView)series3.View).BarWidth = 0.5;
datasum = outBlock.Tables[0];
Series series4 = new Series("完成率", ViewType.Line);
series4.DataSource = datasum;
series4.ArgumentScaleType = ScaleType.Qualitative;
series4.ArgumentDataMember = "PROD_CODE_CNAME";
series4.ValueScaleType = ScaleType.Numerical;
series4.ValueDataMembers.AddRange(new string[] { "PROD_CODE_VALUE_R" });
chartControl1.Series.Add(series4);
SecondaryAxisY myAxis = new SecondaryAxisY(series4.Name);
myAxis.Label.NumericOptions.Format = NumericFormat.Percent;//格式化烛恤,為了顯示百分號(hào)
((XYDiagram)chartControl1.Diagram).SecondaryAxesY.Add(myAxis);
((LineSeriesView)series4.View).AxisY = myAxis;
}
catch (Exception)
{
throw;
}
}
有哪里不懂的朋友可以私信我岛宦,我還有餅狀圖,折線(xiàn)圖帖汞,3D餅狀圖戴而,3D柱狀圖,儀表盤(pán)等等要做