您的位置:首页 > 其它

chartcontrol的用法总结

2015-06-06 09:51 363 查看
用chartcontrol用了一个星期,想把这个星期的劳动成果记录一下:

chartcontrol是devexpress控件库中很好用的一个图表显示控件,功能很强大。我下面从简单的介绍起:

1.显示二维表

二维表的意思是只有两列,这是最方便的。而且我们以柱状图为例:

chartControl1.Series.Clear(); //清除系列

Series serPici = new Series(" 表明", ViewType.Bar); //新建系列

serPici.DataSource = data; //绑定数据源

serPici.ArgumentDataMember = "检查类型"; //指定X轴绑定列

serPici.ArgumentScaleType = ScaleType.Qualitative; //指定X轴坐标以定性方式表示

serPici.ValueDataMembers.AddRange(new string[] { "数量" }); //指定Y轴绑定列

serPici.ValueScaleType = ScaleType.Numerical; //指定Y轴以数字方式标记

//serPici.LegendText = "批次量";

chartControl1.Series.Add(serPici); //添加系列

//设置X轴和Y轴,可以不设置

((XYDiagram)chartControl1.Diagram).AxisY.Title.Font = new Font("Tahoma", 10);

((XYDiagram)chartControl1.Diagram).AxisY.Title.TextColor = System.Drawing.Color.Red;

((XYDiagram)chartControl1.Diagram).AxisY.Title.Text = "数量";

//((XYDiagram)chartControl1.Diagram).AxisY.Title.Visible = true;

((XYDiagram)chartControl1.Diagram).AxisY.Title.Visible = true;

((XYDiagram)chartControl1.Diagram).AxisX.Title.Text = "检查类型";

((XYDiagram)chartControl1.Diagram).AxisX.Title.Visible = true;

//设置图例的位置

chartControl1.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Right;

chartControl1.Legend.AlignmentVertical = LegendAlignmentVertical.Top;

2.显示三维表

如果你的数据表含有三列,这时你就需要采用下面的方法了。

chartControl1.Series.Clear();
//Series serPici = new Series("Bar", ViewType.Bar);
//serPici.DataSource = data;
chartControl1.DataSource = data;
chartControl1.SeriesDataMember = "检查类型";
chartControl1.SeriesTemplate.ArgumentDataMember = "报告医师";
chartControl1.SeriesTemplate.ValueDataMembers.AddRange(new string[1]{"数量"});
这时你也可以如上设置X轴和Y轴的标题,显示内容等。但是注意这个模板不能用于二维表的显示,比如你可能想要把检查类型那行去除显示二维表,试验结果证明,这时行不通的。

这里要特别提醒的是:如果在代码中存在数据源绑定变换,最好加上

chartControl1.BeginInit();

chartControl1.EndInit();

这样确保数据源切换能够被chartcontrol识别并及时显示。

3.四维表

四维表也是可以显示的。这时可能把表格的类型设置为stackedbar。

这个可以使用sidebysidebar,比如说四列为:报告医师、检查类型、报告质量、数量。则可根据报告质量和检查类型进行循环,将两列合为一列作为series的name即可。

总结下:对于devexpress的控件,我也才开始了解。它有个专门的论坛上有中文文档,需要静下心来去研究。而且它的国外官网有support页面,中午至晚上都可以留言,回复还挺快的。关于chartcontrol,虽然我写了这么多,但还只是皮毛。如多坐标轴的设置,pane的设置等等。我研究出成果再和大家分享。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: