//前台控件代码: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. 【转 】实战手记:让百万级数据瞬间导入SQL Server

    想必每个DBA都喜欢挑战数据导入时间,用时越短工作效率越高,也充分的能够证明自己的实力.实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计算,本文将向大家推荐一个挑战4秒极限让百万级数据瞬间 ...

  2. 安装配置Oracle数据库时的一些处理思路

    配置Oralce客户端或者服务器端出现问题时,可考虑如下步骤: 1 检查如下文件:client端:D:\app\Administrator\product\11.2.0\client_3\networ ...

  3. iphone dev 入门实例2:Pass Data Between View Controllers using segue

    Assigning View Controller Class In the first tutorial, we simply create a view controller that serve ...

  4. (WF)

    Caught: System.InvalidOperationException: The argument of type 'XXX' cannot be used. Make sure that ...

  5. smartgit document Rebase

    The Rebase command allows you to apply commits from one branch to another. Rebase can be viewed as m ...

  6. 关于Rotation和Quaternion的一些问题

    当我们使用unity的时候,面对一个物体,一个不可避免的问题就是:控制物体的旋转. unity的Transform组件的第二个属性Rotation为我们提供控制物体旋转的功能.在一个物体的Inspec ...

  7. Tornado

    Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过为了能有效 ...

  8. List集合去重的一种方法 z

    需要对一个List<Model>集合去重,情况是该集合中会出现多个Name属性值相同的,但是其他属性值不同的数据. 在这种情况下,需求要只保留其中一个就好. 我觉得遍历和HashSet都不 ...

  9. ddl语句

  10. jQuery 的append在ie下的兼容性

    $("body").append("<div id='ajaxLoadDiv'><span><img src='images/ajaxLoa ...