彩票走势图

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

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

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

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

  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

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

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



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

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:慧都控件网

为你推荐

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

用于Delphi和C ++ Builder的VCL组件,提供高影响力的业务解决方案。

DevExpress Universal Subscription

行业领先的界面控件开发包,帮助企业构建卓越应用!

XtraPivotGrid Suite

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

ASPxPivotGrid Suite

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

ExpressPivotGrid Suite

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

title
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP