用DevExpress曲线图展示DataTable数据

在DevExpress中

(1)图表控件是:DevExpress.XtraCharts.ChartControl

(2)数据在图表上的显示方式由DevExpress.XtraCharts.ViewType决定,可以是:曲线、柱状图、点......

(3)这些曲线,或者柱状图,或者点图都是一个DevExpress.XtraCharts.Series

(4)数据绑定时

        先设置DevExpress.XtraCharts.Series的DataSource;

        通过DevExpress.XtraCharts.Series的SetDataMembers("x轴字段","y轴字段")方法设置对应坐标轴的数据字段;

               通过DevExpress.XtraCharts.Series的SetDataMembers.Name属性设置显示在右上角的series名称;

(5)图标控件DevExpress.XtraCharts.ChartControl上可以有多个DevExpress.XtraCharts.Series;


1、新建winform项目,按下图布置Form界面。

        两个button下面是一个DataGridView控件

        将ChartControl控件拖拽到Form1上,在向导提示中添加一个Series。

 2、使用代码生成DataTable数据表。

        表有3列:SaleDate、SalePrice、SaleMount


        DataTable ProduceDataTable()
        { 
            DataTable dtable = new DataTable();
            DataColumn col1 = new DataColumn("SaledDate", typeof(DateTime));
            DataColumn col2 = new DataColumn("SaledPrice", typeof(double));
            DataColumn col3 = new DataColumn("SaledMount", typeof(int));
            dtable.Columns.Add(col1);
            dtable.Columns.Add(col2);
            dtable.Columns.Add(col3);

            for (int i = 0; i < 10; i++)
            {
                DataRow row = dtable.NewRow();
                row["SaledDate"] = i % 2 == 0 ? DateTime.Now.AddDays(-(i + 15)) : DateTime.Now.AddMonths(1).AddDays(-i);
                Random r = new Random((i + 1) * 7);
                row["SaledPrice"] = Math.Round(r.NextDouble() * 15, 2);
                row["SaledMount"] = Math.Round(r.NextDouble() * 10 / (i + 1), 0) + 23;
                dtable.Rows.Add(row);
            }
            return dtable;
        }

3、在Form的构造方法中指定DataTable,及DataGridView的数据源

        /// <summary>
        /// 数据信息表
        /// </summary>
        DataTable table = null;

        public Form1()
        {
            InitializeComponent();

            //将table的内容按SaledDate排序后,绑定到dataGridView1控件上
            table = ProduceDataTable();
            DataView dv = table.DefaultView;
            dv.Sort = "SaledDate asc";
            dataGridView1.DataSource = dv.ToTable();
        }

4、添加"查看售价"Button的事件代码,及运行效果如下:


    
        private void btnShowPrice_Click(object sender, EventArgs e)
        {
            //s1数据是条形展示
            DevExpress.XtraCharts.Series s1 = new DevExpress.XtraCharts.Series("售价", DevExpress.XtraCharts.ViewType.Bar);
            s1.DataSource = table;
            s1.SetDataMembers("SaledDate", "SaledPrice");
            chartControl1.Series.Add(s1);


            DevExpress.XtraCharts.Series s2 = new DevExpress.XtraCharts.Series("售价", DevExpress.XtraCharts.ViewType.Line);
            s2.DataSource = table;
            s2.SetDataMembers("SaledDate", "SaledPrice");
            chartControl1.Series.Add(s2);
        }

 

5、添加"查看销售数目"Button的事件代码,及运行效果如下:


        private void btnShowSaleMount_Click(object sender, EventArgs e)
        {
            chartControl1.Series[0].DataSource = table;// dataGridView1.DataSource;
            chartControl1.Series[0].Name = "销售数量";
            chartControl1.Series[0].SetDataMembers("SaledDate", "SaledMount");


            //ser1数据是点方式标记
            DevExpress.XtraCharts.Series ser1 = new DevExpress.XtraCharts.Series("销售数量", DevExpress.XtraCharts.ViewType.Point);
            ser1.DataSource = table;
            ser1.SetDataMembers("SaledDate", "SaledMount");
            chartControl1.Series.Add(ser1);
        }
   

6、最终运行效果如下:

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DevExpress ChartControl 是一个功能强大的图表控件,可用于在应用程序中创建各种类型的曲线图。 使用DevExpress ChartControl,我们可以轻松地添加和配置曲线图,以直观地显示数据和趋势。曲线图可以用于展示时间序列数据、趋势分析、模式识别等。 在使用DevExpress ChartControl时,我们可以通过以下几个步骤来创建和配置曲线图: 1. 数据绑定:首先,我们需要将数据源与ChartControl绑定。可以使用多种数据源,如数据库、集合、XML等。通过设置数据系列的名称、标签、数据字段等,我们可以将数据源中的数据与图表关联起来。 2. 图表类型选择:ChartControl提供了多种类型的曲线图,如折线图、散点图、面积图等。我们可以根据需求选择合适的图表类型,并进行相关的配置。 3. 样式设置:可以根据需要,配置曲线图的外观样式,如背景颜色、图表边框、曲线颜色、标签样式等。通过设置图例,我们可以显示曲线图中的数据系列名称和相应的颜色。 4. 标题和轴设置:我们可以自定义曲线图的标题,为X轴和Y轴添加标签和标题,调整刻度范围、刻度间隔等。可以根据需要,显示或隐藏网格线、刻度线等。 5. 功能和交互性:ChartControl支持各种功能和交互性,如数据筛选、缩放、滚动、鼠标提示、图表导出等。我们可以根据需求,启用或禁用这些功能。 使用DevExpress ChartControl,我们可以轻松地创建出具有丰富功能和精美外观的曲线图。无论是在桌面应用程序还是Web应用程序中,DevExpress ChartControl都是一个强大的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值