问题描述
- c# chart绘图 dataset
-
chart1.datasource=databindsource(datatableweek""),这样写报错, 请问如何实现将week这一列作为横坐标, 急 各位大神在线等
解决方案
databindsource不是一个库函数,你怎么实现的,代码贴出来才知道。
解决方案二:
//控件内容全部使用动态生成
private void FrmChart_Load(object sender EventArgs e)
{
//获取数据源
dt = Helper.GetDataSet(""select o_order_noo_order_money from t_order"" connString).Tables[0];
//用指定的dataTable初始化dataView
DataView dv = new DataView(dt);
//需要显示的条目数匹配数据中的列
Series[] series = new Series[dt.Columns.Count - 1];
//实例化一个标题
Title title = new Title();
//将标题添加到控件
this.chart1.Titles.Add(title);
//实例化一个图表显示的区域
ChartArea chartArea = new ChartArea();
//设置名称
chartArea.Name = ""chartArea1"";
//将区域添加到控件
this.chart1.ChartAreas.Add(chartArea);
//图表图例,显示在右上角的标识,设置只用一个Legend来显示(可以包含多个列的列名)
Legend legend = new Legend();
//图例名称
legend.Name = ""legend1"";
//添加到控件
this.chart1.Legends.Add(legend);
//循环需要显示的条目数,并设置相应的属性
for (int i = 0; i < dt.Columns.Count - 1; i++)
{
series[i] = new Series();//实例化一个图表序列
series[i].ChartArea = ""chartArea1"";//设置ChartArea属性
series[i].Legend = ""legend1"";//设置Legend属性
this.chart1.Series.Add(series[i]);//添加到Chart的Series集合
}
//循环绑定数据
for (int i = 0; i < this.chart1.Series.Count; i++)
{
//绑定不同Series的X轴与Y轴的值
chart1.Series[i].Points.DataBindXY(dv dt.Columns[0].ColumnName dv dt.Columns[i + 1].ColumnName);
chart1.Series[i].Label = ""#VAL"";//顶部显示数字
chart1.Series[i].LegendText = dt.Columns[i + 1].ColumnName;//设置图表图例名称
}
}
解决方案三:
【C#】 DataSet .用法.
Chart绘图