using AUCMA.STORE.Common; using AUCMA.STORE.Entity.DAO; using AUCMA.STORE.Entity.Enums; using AUCMA.STORE.SqlSugar.serviceImpl; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Linq.Expressions; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Windows.Forms.DataVisualization.Charting; namespace AUCMA.STORE { public partial class Chart : Form { public String PilerInfo = ""; public LocationArea locationArea = LocationArea.Location_NoCare; public Chart() { InitializeComponent(); this.StartPosition = FormStartPosition.CenterScreen; } private void Chart_Load(object sender, EventArgs e) { this.chart1.Series[0].Points.Clear(); this.chart1.ChartAreas[0].Area3DStyle.Enable3D = true; chart1.Series[0].ChartType = SeriesChartType.Pie; chart1.Legends[0].Enabled = false;//不显示图例 this.chart1.Series["Series1"].Label = "#VALX" + " " + " [ " + "#VAL{D} 个" + " ]" + " " + "#PERCENT{P2}"; //this.chart1.Series["Series1"].LegendText = "#VALX" + " " + " [ " + "#VAL{D} 个" + " ]" + " " + "#PERCENT{P2}"; chart1.Series[0]["DrawingStyle"] = "Cylinder";//设置Series显示的样式 绘图风格为浮雕型 chart1.Series[0].XValueType = ChartValueType.String; /*chart1.Series[0]["PieLabelStyle"] = "Outside"; chart1.Series[0]["PieLineColor"] = "Black";*///绘制黑色的连线。 //double[] yValues = { 20, 30, 40, 50 }; //string[] xValues = { "绩效办", "行政部", "王牌对王牌", "其他" }; //chart1.Series["Series1"].Points.DataBindXY(xValues, yValues); BindChartData(locationArea); } public async void BindChartData(LocationArea locationArea) { Expression> exp = s1 => true; exp = exp.And(s1 => s1.locationArea == locationArea && s1.locationStatus == LocationStatus.InUse && s1.storeCode == ConfigHelper.GetConfig("storeCode") && s1.deleteFlag == DeleteFlag.No); List baseLocationInfos = await new BaseServices().Query(exp); List xData = new List(); List yData = new List(); var info = baseLocationInfos.GroupBy(x => x.materialType); foreach (var item in info) { xData.Add(item.Key); yData.Add(item.ToList().Count()); } chart1.Series["Series1"].Points.DataBindXY(xData, yData); } } }