怎样给C#的chart控件提供自定义的DataSet或者DataTable? 20
在网上看到的教程,很多都是用的把chart的数据源绑定到数据库reader对象。但是现在不是从数据库查询数据,而是想要根据某些实体类的信息,构造出DataSet或者Dat...
在网上看到的教程,很多都是用的把chart的数据源绑定到数据库reader对象。但是现在不是从数据库查询数据,而是想要根据某些实体类的信息,构造出DataSet或者DataTable,然后绑定到chart上。
现在DataSet和DataTable都可以正确构造出了,但是不知道怎么对应绑定到chart上,请问该怎么做? 展开
现在DataSet和DataTable都可以正确构造出了,但是不知道怎么对应绑定到chart上,请问该怎么做? 展开
1个回答
展开全部
//DataTable 结构三列
//BG|TotalRequest|Finished
Chart2.Series.Add("需求总数");
Chart2.Series.Add("结案总数");
Chart2.Series[0].Label = "#VAL";
Chart2.Series[1].Label = "#VAL";
Chart2.Titles[0].Text = title;
Chart2.Titles[0].Alignment = ContentAlignment.TopCenter;
Chart2.Titles[0].Font = new Font("宋体", 10, FontStyle.Bold);
Chart2.DataSource = dt;
Chart2.ChartAreas[0].AxisY.Interval = 10;
Chart2.ChartAreas[0].AxisX.Interval = 1;
Chart2.ChartAreas[0].AxisX.LabelStyle.Angle = -45;
Chart2.Series[0].XValueMember = "BG";//DataTable列名
Chart2.Series[0].YValueMembers = "TotalRequest";//DataTable列名
Chart2.Series[1].YValueMembers = "Finished";//DataTable列名
Chart2.DataBind();
Chart2.Series[1].Color = Color.IndianRed;
System.Web.UI.DataVisualization.Charting.ChartArea productChartArea = Chart2.ChartAreas[0];
productChartArea.Area3DStyle.Enable3D = true;
productChartArea.Area3DStyle.PointGapDepth = 0;
productChartArea.Area3DStyle.PointDepth = 50;
productChartArea.Area3DStyle.IsClustered = true;
productChartArea.Area3DStyle.WallWidth = 10;
更多追问追答
追问
谢谢贴代码!看来这是先增加所需的Series,然后为每个Series指定采用DataTable的哪一列。
但是我面临的问题是,DataSet里有多个DataTable,每个Table的结构是一样的,想要每个Table对应一个Series,而不是Table的列对应一个Series。这个该怎么做呢?
追答
你这样做的话最后的图表会怎样显示呢?一个chart显示N个Datatable及多个相同的列?感觉不靠谱吧。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询