XAF之在运行时修改Chart
来源:互联网 发布:java web课程设计 编辑:程序博客网 时间:2024/06/05 08:08
如题,在代码中修改Chart,并将修改保存,不必调用wizard。
可以添加/删除/隐藏series等等,并可改变图表风格.
using System;using System.Text;using System.IO;using DevExpress.ExpressApp.Chart.Win;using DevExpress.ExpressApp.Chart;using DevExpress.XtraCharts;namespace DynamicChartSolution.Module.Win{ public class ChartManagerWin { private ChartControl chartControl; private IModelChartListView chartModel; private SeriesBuilder builder; /// <summary> /// 在ViewController中创建ChartManagerWin的方法: /// ChartControl cc=(((ListView)View).Editor as ChartListEditor).ChartControl /// IModelChartListView m=(IModelChartListView)View.Model /// new ChartManagerWin(cc,m) /// </summary> /// <param name="control"></param> /// <param name="model"></param> public ChartManagerWin(ChartControl control, IModelChartListView model) { this.chartControl = control; this.chartModel = model; } /// <summary> /// 使用SeriesBuilder创建一个Series /// </summary> /// <returns></returns> public SeriesBuilder GetSeriesBuilder() { return builder=new SeriesBuilder(); } public SeriesBuilder GetSeriesBuilder(string seriesName,DevExpress.XtraCharts.ViewType viewType) { return builder=new SeriesBuilder(seriesName, viewType); } /// <summary> /// 将Chart的更改保存到Model中 /// </summary> /// <param name="model"></param> public void SaveChanges() { MemoryStream ms = new MemoryStream(); chartControl.SaveToStream(ms); chartModel.ChartSettings.Settings = Encoding.UTF8.GetString(ms.ToArray()); } /// <summary> /// 改变chart显示风格 /// </summary> /// <param name="style"></param> public void ChangeStyle(DevExpress.XtraCharts.ViewType style) { foreach (Series s in chartControl.Series) { s.ChangeView(style); } SaveChanges(); } //需要注意的是,如果添加的Series和当前图表风格不同时不会显示 public void AddSeries(params Series[] series) { chartControl.Series.AddRange(series); SaveChanges(); } public void RemoveSeries(string seriesName) { if(chartControl.Series[seriesName]!=null) chartControl.Series.Remove(chartControl.Series[seriesName]); SaveChanges(); } public void SetVisibility(string seriesName,bool visible) { chartControl.Series[seriesName].Visible = visible; } } public class SeriesBuilder { private Series series; public Series Series { get { return series; } } public SeriesBuilder() { series = new Series(); } public SeriesBuilder(string seriesName,DevExpress.XtraCharts.ViewType viewType) { series = new Series(seriesName, viewType); } public string Name { set { series.Name = value; } } public DevExpress.XtraCharts.ViewType ViewType { set { series.ChangeView(value); } } public object DataSource { set { series.DataSource=value; } } public string ArgumentDataMember { set { series.ArgumentDataMember = value; } } public DevExpress.XtraCharts.ScaleType ArgumentScaleType { set { series.ArgumentScaleType = value; } } public DevExpress.XtraCharts.ScaleType ValueScaleType { set { series.ValueScaleType = value; } } public string ValueDataMember { set { series.ValueDataMembers.AddRange(value); } } public string SummaryFunction { set { series.SummaryFunction=value; } } public void AddDataFilter(string columnName,string columnTypeName,DataFilterCondition condition,object value) { series.DataFilters.Add(columnName, columnTypeName, condition, value); } }}
- XAF之在运行时修改Chart
- XAF之在linq中使用CriteriaOperator
- XAF之在ListView中显示NonPersistent Object
- XAF之在代码中选中导航栏子项
- XAF之Action
- XAF之Security System
- XAF之ObjectSpace
- XAF之Templates Customization
- XAF之弹出式进度条
- XAF之PropertyEditor
- XAF之Dashboard
- XAF之DashboardViewItem管理
- XAF之SplashScreenManager
- XAF之Servermode注意
- 在运行时修改视图
- chart控件运行时在右上角只显示series,其他部分空白
- XAF学习二:在XAF中打开自定义的WinForm
- XAF之自定义登录窗口
- Oracle的锁表与解锁
- HTTP协议详解
- 最小编辑距离
- Android 之 内存管理
- recovery 中tmpfs的使用及tmpfs简介
- XAF之在运行时修改Chart
- Linux上安装MySQL时出现不兼容的解决办法
- ssh 搭建框架spring相关配置(1)
- 操作系统——概述
- WPF分页DataGrid
- 运行顺序
- spring mvc的controller国际化
- 获取数据库服务器时间
- HOOK ntfs 禁止格式化