初探PivotGrid控件连接图形图表Chart的方法

原创|其它|编辑:郝浩|2010-05-11 11:09:19.000|阅读 3514 次

概述:DevExpress的PivotGrid控件,无论是WinForm的XtraPivotGrid,还是WebForm的AspxPivotGrid,都能够实现强大的多维分析功能,完全可以当成一个决策分析工具来使用,然而,美中不足的就是没有关联到图形图表Chart。虽然有了分析的结果,但是没有图形图表更加直观地表达效果。因此,在DevExpress 控件包使用方面有多年研究的慧都控件网愿把PivotGrid控件的使用心得分享给大家。

  DevExpress的PivotGrid控件,无论是WinForm的XtraPivotGrid,还是WebForm的AspxPivotGrid,都能够实现强大的多维分析功能,完全可以当成一个决策分析工具来使用,然而,美中不足的就是没有关联到图形图表Chart。虽然有了分析的结果,但是没有图形图表更加直观地表达效果。因此,在DevExpress 控件包使用方面有多年研究的慧都控件网愿把PivotGrid控件的使用心得分享给大家。

  为了把PivotGrid连接到Chart,首先利用PivotGrid自带的编程接口获取筛选属性,形成交差表,再使用Office Web Control(OWC)来展示图形。

OWC显示图形的例子
引用DLL


 

using OWC11;

  //创建X坐标的值,表示月份
int[] Month ={ 1, 2, 3 };
//创建Y坐标的值,表示销售额
double[] Count ={ 120, 240, 220 };
string strDataName = "";
string strData = "";
//创建图表空间
ChartSpace mychartSpace = new ChartSpace();

        //mychartSpace.DataSource = oleReader;
//mychartSpace.Border.DashStyle = ChartLineDashStyleEnum.chLineRoundDot;
//在图表空间内添加一个图表对象
ChChart mychart = mychartSpace.Charts.Add(0);
mychart.Border.DashStyle = ChartLineDashStyleEnum.chLineSolid;
//设置每块饼的数据
for (int i = 0; i < Count.Length; i++)
{
if (i != Count.Length - 1)
{
strDataName += Month[i] + "\t";
strData += Count[i].ToString() + "\t";
}
else
{
strDataName += Month[i];
strData += Count[i].ToString();
}
}
//设置图表类型,本例使用柱形
mychart.Type = ChartChartTypeEnum.chChartTypePie;
//设置图表的一些属性
//是否需要图例
mychart.HasLegend = true;
//是否需要主题
mychart.HasTitle = true;
//主题内容
mychart.Title.Caption = "一季度总结";
//添加图表块
mychart.SeriesCollection.Add(0);
//设置图表块的属性
//分类属性        
mychart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategories, (int)ChartSpecialDataSourcesEnum.chDataLiteral, strDataName);
//值属性
mychart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues, (int)ChartSpecialDataSourcesEnum.chDataLiteral, strData);
//mychart.Axes[1].Font.Bold = true;      
mychart.Legend.Border.DashStyle = ChartLineDashStyleEnum.chLineDash;
//显示百分比
ChDataLabels mytb = mychart.SeriesCollection[0].DataLabelsCollection.Add();
//mytb.HasPercentage = true;
//生成图片
mychartSpace.ExportPicture(Server.MapPath(".") + @"\test.gif", "gif", 500, 450);
//加载图片

显示的效果图

获取Pivot各个区域Area的值

 #region 获取相应Area内容
protected System.Collections.Generic.ICollection<PivotGridField> GetFilterFields(ASPxPivotGrid _grid)
{
return GetFieldsByArea(_grid, DevExpress.XtraPivotGrid.PivotArea.FilterArea);
}
protected System.Collections.Generic.ICollection<PivotGridField> GetColumnFields(ASPxPivotGrid _grid)
{
return GetFieldsByArea(_grid, DevExpress.XtraPivotGrid.PivotArea.ColumnArea);
}

    protected System.Collections.Generic.ICollection<PivotGridField> GetRowFields(ASPxPivotGrid _grid)
{
return GetFieldsByArea(_grid, DevExpress.XtraPivotGrid.PivotArea.RowArea);
}
protected System.Collections.Generic.ICollection<PivotGridField> GetDataFields(ASPxPivotGrid _grid)
{
return GetFieldsByArea(_grid, DevExpress.XtraPivotGrid.PivotArea.DataArea);
}

    protected System.Collections.Generic.ICollection<PivotGridField> GetFieldsByArea(ASPxPivotGrid _grid, DevExpress.XtraPivotGrid.PivotArea _area)
{
System.Collections.Generic.List<PivotGridField> _list = new List<PivotGridField>();
foreach (DevExpress.Web.ASPxPivotGrid.PivotGridField _field in _grid.Fields)
{
if (_field.Area == _area)
{
_list.Add(_field);
}
}
return _list;
}
#endregion

  DevExpress  DXperience 是Windows和ASP.NET控件套包、IDE报表生成工具和企业应用程序框架。长期占据着慧都科技控件销量榜的第一位置。在慧都控件网的推动下,DXperience帮助中国软件企业开发出很多优秀的软件产品 DXperience其产品的品牌、质量,是全球公认的。慧都控件网为 DXperience提供了全面的技术支持服务,同时提供 DXperience从入门到精通的控件培训服务

  同时,慧都为DevExpress for .NET用户量身打造了一款中文资源包,DevExpress 官方汉化资源 , 您只需极少花费便可获得这套完整、专业的汉化资源,从而使您的产品实现全面汉化。



(慧都控件网版权所有,转载请注明出处,否则追究法律责任)

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

文章转载自:慧都控件网

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
title
相关厂商
相关产品
DevExpress VCL Controls

内含强大的VCL Data Grid,好用的VCL报表工具,灵活的VCL分析工具

DevExpress Universal Subscription

行业领先的.NET界面控件,示例和帮助文档完善,提供定制、培训、汉化一体化服务。

XtraPivotGrid Suite

完全支持用户自定义,完全支持与DevExpress图表控件本地集成,终端用户通过简单的拖动和点击就可创建几乎无限数组的报表

ASPxPivotGrid Suite

能够高效的对数据进行切分,从而为客户提供一个非常直观的终端用户体验

ExpressPivotGrid Suite

包含了数据分析、数据挖掘、 Windows 应用程序可视化报告解决方案

XpressDevelopers for Activex

完全基于ActiveX的集检查器、工具条、打印系统、编辑器等控件于一体的综合控件

DevExpress eXpressApp Framework(XAF)

灵活创建针对Windows和Web商业级应用程序的开发框架

DevExpress Silverlight Controls

高性价比高实用性的Silverlight用户界面控件套包,拥有大量的示例和帮助文档,开发者能够快速上手!

DXperience Subscription

高性价比的企业级.NET用户界面套包,带源码,大量示例和帮助文档让开发者快速上手!

DevExpress ASP.NET Controls

多款重量级ASP.NET用户界面组件套包,让您快速开发出完美、强大的ASP应用程序!

在线客服 在线QQ 电话咨询
400-700-1020
反馈
在线客服系统
live chat