dev的chartcontrol控件其实是很强大的,可以根据数据库直接绑定DataSouce,也可以自己为它的每一个系列添加坐标点,即一个包含横坐标和纵坐标的SeriesPoint,这些都是可以通过这个控件自带的属性和方法解决的,难点在于控制横坐标的显示和隐藏,我找了很久没有找到控制横坐标显示隐藏的属性,迫不得已采用更改数据源也就是DataTable的办法来控制,以下就是详细过程。
首先就是我们要用到的数据源,这里我用到的是数据库中的一个表,大致内容如下:
组别 | 横坐标(月份) | 纵坐标(小时) |
---|---|---|
用户1 | 2011-05 | 6.38 |
用户2 | 2011-05 | 55.1 |
用户3 | 2011-06 | 22.6 |
… | … | … |
很容易看出来这是进行了两次细分的,首先是组别,而后又是横坐标。
设计过程:加载数据,函数如下,第一个参数当然是我们的数据源了:
private void LoadDataSouce(DataTable dt, Boolean isLoadTreeView)
{
chartControl1.Series.Clear();
if (dt == null) return;
//组别名
seriesName = dt.Columns[0].ColumnName;
//横坐标名
abscissaName = dt.Columns[1].ColumnName;
//纵坐标名
valueName = dt.Columns[2].ColumnName</