Devexpress中WebChartControl控件柱状统计图的做法(数据为调用存储过程)
//前台控件代码:WebChartControl控件:
<%-- 月采购量统计--%>
<dxchartsui:WebChartControl ID="WebChartControl1" runat="server" Width="700px" Height="400px" CssClass="chartsui"></dxchartsui:WebChartControl>
后台代码(cs)可写在自定义方法中:
// 柱状图里的第一个柱
Series Series1 = new Series("金额", ViewType.Bar);
Series1.DataSource = dt;
Series1.ArgumentScaleType = ScaleType.Qualitative;
// 以哪个字段进行显示
Series1.ArgumentDataMember = "ymonth";
Series1.ValueScaleType = ScaleType.Numerical;
// 柱状图里的柱的取值字段
Series1.ValueDataMembers.AddRange(new string[] { "SUM(AMONEY)" });
// 柱状图里的第二柱
Series Series2 = new Series("采购数量", ViewType.Bar);
Series2.DataSource = dt;
Series2.ArgumentScaleType = ScaleType.Qualitative;
Series2.ArgumentDataMember = "ymonth";
Series2.ValueScaleType = ScaleType.Numerical;
Series2.ValueDataMembers.AddRange(new string[] { "sum(buynum)" });
ChartServices.SetChartTitle(this.WebChartControl1, true, "采购量图表统计", true, 2, StringAlignment.Center, ChartTitleDockStyle.Top, true, new Font("宋体", 12, FontStyle.Bold), Color.Red, 10); //显示图表标题
for (int i = 0; i < dt.Rows.Count; i++)
{
// string tt = dt.Rows[i]["ymonth"].ToString();
SeriesPoint point1 = new SeriesPoint(dt.Rows[i]["ymonth"].ToString(), Convert.ToDouble(dt.Rows[i]["SUM(AMONEY)"].ToString()));
SeriesPoint point2 = new SeriesPoint(dt.Rows[i]["ymonth"].ToString(), Convert.ToDouble(dt.Rows[i]["sum(buynum)"].ToString()));
Series1.Points.Add(point1);
Series2.Points.Add(point2);
}
WebChartControl1.Series.Add(Series1);
WebChartControl1.Series.Add(Series2);
ChartServices类文件代码(用于设置WebChartControl中标题,颜色、值等属性)--一般在前端WebChartControl有自带的属性,有时点不出来时,则可以引用。
class ChartServices
{
///
/// 绘制图形
///
/// 图表控件
/// 系列名
/// 类型
/// 数据源
///
///
public static void DrawChart(DevExpress.XtraCharts.Web.WebChartControl control, string seriesName, ViewType type, DataTable dt, string column1, string column2)
{
Series series = new Series(seriesName, type);
DataTable table = dt;
SeriesPoint point = null;
for (int i = 0; i < table.Rows.Count; i++)
{
point = new SeriesPoint(table.Rows[i][column1].ToString(), Convert.ToDouble(table.Rows[i][column2].ToString()));
series.Points.Add(point);
}
control.Series.Add(series);
//针对饼图的特殊处理
if (type == ViewType.Pie)
{
//设置显示方式(Argument:显示图例说明,ArgumentAndValues:显示图例内容和数据)
series.Label.PointOptions.PointView = PointView.ArgumentAndValues;
//设置数据显示形式(Percent:百分比,Currency:货币类型,数据前添加¥,Scientific:科学计数法)
series.Label.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent;
//数据是否保留小数(0:不保留小数位,1保留一位小数,2保留两位小数)
series.Label.PointOptions.ValueNumericOptions.Precision = 0;
//数据以百分比显示时只能是Default和None
((PieSeriesLabel)series.Label).ResolveOverlappingMode = ResolveOverlappingMode.Default;
}
}
///
/// 设置图表标题
///
/// 图表控件
/// /// 标题是否可见
/// 标题文本
/// 是否换行
/// 最大允许行数
/// 对齐方式
/// 位置
/// 是否允许设置外观
/// 字体
/// 文本颜色
/// 字体缩进值
public static void SetChartTitle(DevExpress.XtraCharts.Web.WebChartControl control, bool isVisible, String text, bool isWordWrop, int maxLineCount, StringAlignment alignment, ChartTitleDockStyle dock, bool isAntialiasing, Font font, Color textColor, int indent)
{
//设置标题
ChartTitle title = new ChartTitle();
title.Visible = isVisible;
//显示文本
title.Text = text;
//是否允许换行
title.WordWrap = isWordWrop;
//最大允许行数
title.MaxLineCount = maxLineCount;
//对齐方式
title.Alignment = alignment;
//位置
title.Dock = dock;
//是否允许设置外观
title.Antialiasing = isAntialiasing;
//字体
title.Font = font;
//字体颜色
title.TextColor = textColor;
//缩进值
title.Indent = indent;
control.Titles.Add(title);
}
///
/// 为X轴添加标题
///
/// 图形控件
/// 标题是否可见
/// 对齐方式
/// 标题显示文本
/// 标题字体颜色
/// 是否允许设置外观
/// 字体
public static void SetAxisX(DevExpress.XtraCharts.Web.WebChartControl control, bool isVisible, StringAlignment aligment, string text, Color color, bool isAntialiasing, Font font)
{
XYDiagram xydiagram = (XYDiagram)control.Diagram;
xydiagram.AxisX.Title.Visible = isVisible;
xydiagram.AxisX.Title.Alignment = aligment;
xydiagram.AxisX.Title.Text = text;
xydiagram.AxisX.Title.TextColor = color;
xydiagram.AxisX.Title.Antialiasing = isAntialiasing;
xydiagram.AxisX.Title.Font = font;
}
///
/// 为X轴添加标题
///
/// 图形控件
/// 标题是否可见
/// 对齐方式
/// 标题显示文本
/// 标题字体颜色
/// 是否允许设置外观
/// 字体
public static void SetAxisY(DevExpress.XtraCharts.Web.WebChartControl control, bool isVisible, StringAlignment aligment, string text, Color color, bool isAntialiasing, Font font)
{
XYDiagram xydiagram = (XYDiagram)control.Diagram;
xydiagram.AxisY.Title.Visible = isVisible;
xydiagram.AxisY.Title.Alignment = aligment;
xydiagram.AxisY.Title.Text = text;
xydiagram.AxisY.Title.TextColor = color;
xydiagram.AxisY.Title.Antialiasing = isAntialiasing;
xydiagram.AxisY.Title.Font = font;
}
}
Devexpress中WebChartControl控件柱状统计图的做法(数据为调用存储过程)的更多相关文章
- 玩转控件:重绘DEVEXPRESS中DateEdit控件 —— 让DateEdit支持只选择年月 (提供源码下载)
前言 上一篇博文<玩转控件:重绘ComboBox —— 让ComboBox多列显示>中,根据大家的回馈,ComboBox已经支持筛选了,更新见博文最后最后最后面. 奇葩 这两天遇到 ...
- Android中查看布局文件中的控件(view,id)在哪里被调用(使用)
在阅读别人的代码时通常是很痛苦的,有时很想要看一看布局中的控件在哪里被调用了,为之很苦恼 在这里提供一种方法. 复制要查看的控件ID,到R文件中搜索到该ID, 接下来就好办的了,选中ID按下C ...
- WPF中TreeView控件数据绑定和后台动态添加数据(二)
写在前面:在(一)中,介绍了TreeView控件MVVM模式下数据绑定的方法.在这篇文章中,将总结给节点添加事件的方法,这样说有些不对,总之实现的效果就是点击某个节点,将出现对应于该节点的页面或者数据 ...
- WPF中TreeView控件数据绑定和后台动态添加数据(一)
数据绑定: 更新内容:补充在MVVM模式上的TreeView控件数据绑定的代码. xaml代码: <TreeView Name="syntaxTree" ItemsSourc ...
- 【转】使用DevExpress的WebChartControl控件绘制图表(柱状图、折线图、饼图)
第一次写博,没什么经验,主要是把最近自己对Dev的一些研究贴出来大家共同探讨,有不足之处望大家帮忙斧正. WebChartControl是DevExpress控件群下的一个Web图表控件,它使用非常的 ...
- devexpress中gridview控件编辑时改变输入法状态
在win7环境下使用Devexpress中的SpinEdit控件,切换成中文[简/繁]输入法输入数字键时有不少输入法会重复产生数字如输入1会变成11,输入123会变成112233.使用SpinEdit ...
- DevExpress中 TreeList控件的常规配置
//以下为TreeList控件样式相关设置 this.treelist_SystemCfg.BackColor = Color.Transparent; this.treelist_SystemCfg ...
- devexpress中ASPxGridView控件初始化赋值
写在ASPxGridView中OnCellEditorInitialize="ASPxGridView_progoods_CellEditorInitialize" 事件中: / ...
- DevExpress中XtraGrid控件对GridView每行的颜色设置 zt
改变行颜色 private void GridView1_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArg ...
随机推荐
- TMDS协议
1 概述 1.1 连接结构 图1 TMDS连接结构 数据流中包含了像素和控制数据,发送器在任何给定的输入时钟周期,到底是编码像素数据还是控制数据取决于数据使能信号DE,DE有效时,指示像素数 据 ...
- .net EntityFramework用法探索系列 1
EntityFramework用法探索系列 (一)DatabaseFirst (二)CodeFirst (三)CodeFirst流畅API (四)Repository和UnitOfWork (五)引入 ...
- 在Visual Studio 2010/2012中 找不到创建WebService的项目模板
参考文章: http://blog.sina.com.cn/s/blog_6d545999010152wb.html 在 Visual Studio 2010 或者2012的新建 Web 应用程序或者 ...
- JMS的常用方法
import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Destination; impor ...
- UVA1347 旅游(二维递归DP)
旅游 [题目链接]旅游 [题目类型]DP &题解: 紫书P269 代码很简单,但思路很难.很难能想到要把一个圈分成2条线段,很难想到d(i,j)表示的是已经走过max(i,j)还需要的距离值, ...
- Mac下Tomcat启动时乱码
#JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`" 我是直接 ...
- iCheck表单美化插件使用方法详解(含参数、事件等)
iCheck 特色: 1.在不同浏览器(包括ie6+)和设备上都有相同的表现 - 包括 桌面和移动设备 2.支持触摸设备 - iOS.Android.BlackBerry.Windows Phon ...
- rails4.2.6配置发送邮件
调试了很久,最后终于可以发送了 1 在config/environments/development.rb文件里配置邮件信息 config.action_mailer.raise_delivery_e ...
- [Flex] ButtonBar系列——垂直布局
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- C语言实现词频统计——第二版
原需求 1.读取文件,文件内包可含英文字符,及常见标点,空格级换行符. 2.统计英文单词在本文件的出现次数 3.将统计结果排序 4.显示排序结果 新需求: 1.小文件输入. 为表明程序能跑 2.支持命 ...