//前台控件代码: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控件柱状统计图的做法(数据为调用存储过程)的更多相关文章

  1. 玩转控件:重绘DEVEXPRESS中DateEdit控件 —— 让DateEdit支持只选择年月 (提供源码下载)

      前言 上一篇博文<玩转控件:重绘ComboBox —— 让ComboBox多列显示>中,根据大家的回馈,ComboBox已经支持筛选了,更新见博文最后最后最后面.   奇葩 这两天遇到 ...

  2. Android中查看布局文件中的控件(view,id)在哪里被调用(使用)

    在阅读别人的代码时通常是很痛苦的,有时很想要看一看布局中的控件在哪里被调用了,为之很苦恼 在这里提供一种方法.   复制要查看的控件ID,到R文件中搜索到该ID,   接下来就好办的了,选中ID按下C ...

  3. WPF中TreeView控件数据绑定和后台动态添加数据(二)

    写在前面:在(一)中,介绍了TreeView控件MVVM模式下数据绑定的方法.在这篇文章中,将总结给节点添加事件的方法,这样说有些不对,总之实现的效果就是点击某个节点,将出现对应于该节点的页面或者数据 ...

  4. WPF中TreeView控件数据绑定和后台动态添加数据(一)

    数据绑定: 更新内容:补充在MVVM模式上的TreeView控件数据绑定的代码. xaml代码: <TreeView Name="syntaxTree" ItemsSourc ...

  5. 【转】使用DevExpress的WebChartControl控件绘制图表(柱状图、折线图、饼图)

    第一次写博,没什么经验,主要是把最近自己对Dev的一些研究贴出来大家共同探讨,有不足之处望大家帮忙斧正. WebChartControl是DevExpress控件群下的一个Web图表控件,它使用非常的 ...

  6. devexpress中gridview控件编辑时改变输入法状态

    在win7环境下使用Devexpress中的SpinEdit控件,切换成中文[简/繁]输入法输入数字键时有不少输入法会重复产生数字如输入1会变成11,输入123会变成112233.使用SpinEdit ...

  7. DevExpress中 TreeList控件的常规配置

    //以下为TreeList控件样式相关设置 this.treelist_SystemCfg.BackColor = Color.Transparent; this.treelist_SystemCfg ...

  8. devexpress中ASPxGridView控件初始化赋值

    写在ASPxGridView中OnCellEditorInitialize="ASPxGridView_progoods_CellEditorInitialize"  事件中: / ...

  9. DevExpress中XtraGrid控件对GridView每行的颜色设置 zt

    改变行颜色 private void GridView1_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArg ...

随机推荐

  1. 204. Count Primes

    Description: Count the number of prime numbers less than a non-negative number, n. ============= 找质数 ...

  2. SecureCRT自动记录日志【记录键入的所有命令和打印的结果信息】

  3. [实变函数]2.2 聚点 (cluster point), 内点 (interior point), 界点 (boundary point)

    设 $E\subset \bbR^n, P_0\in \bbR^n$. 1 若 $\exists\ U(P_0)\subset E$, 则称 $P_0$ 为 $E$ 的内点 (interior poi ...

  4. 值不能为 null 或为空。参数名: linkText

    “/”应用程序中的服务器错误. 值不能为 null 或为空.参数名: linkText 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的 ...

  5. UITouch 触摸事件处理(实例)

    来源:http://www.open-open.com/lib/view/open1341882439838.html 1. UITouch 的主要方法: - (void)touchesBegan:( ...

  6. C++学习7 构造函数

    当创建一个对象时,往往需要做一些初始化工作,例如对数据成员赋值等.为了解决这个问题,C++提供了构造函数. 构造函数(Constructor)是一种特殊的成员函数,它的名字和类名相同,没有返回值,不需 ...

  7. [ActionScript 3.0] as3.0加载as2.0的swf时获取as2.0的实际舞台尺寸

    var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler) ...

  8. J2EE 和javaweb有区别吗

    java web是java对web开发的一种总和称呼.他是B/S模式,对应的是C/S模式: java ee,又叫j2ee是一种广泛使用的平台,包含了一组协调技术,可显著降低成本以及开发.部署和管理以服 ...

  9. jquery mobile转场时加载js失效(转)

    jquery mobile拦截了所有的http请求,并使用ajax请求取代传统的http.请求发出后,框架会将请求的内容插入到页面中data- role="page"的部分,取代原 ...

  10. ppm与毫克/立方米怎么换算

    ppm是溶液浓度(溶质质量分数)的一种表示方法,1升水溶液中有1毫克的溶质,g/m3或mg/L. 对于气体:,一百万体积的空气中所含污染物的体积数. 而按我国规定,特别是环保部门,则要求气体浓度以质量 ...