DevExpress Util HelpV3

using System; using System.Drawing; using DevExpress.XtraCharts;

namespace DevExpressUtilHelpV3

{

    public static class ChartToolV3   

  {     

    /// <summary>   

      /// 创建Series     

    /// </summary>  

       /// <param name="chat">ChartControl</param>     

    /// <param name="seriesName">Series名字『诸如:理论电量』</param>   

      /// <param name="seriesType">seriesType『枚举』</param>   

      /// <param name="dataSource">数据源</param>  

       /// <param name="xBindName">ChartControl的X轴绑定</param>     

    /// <param name="yBindName">ChartControl的Y轴绑定</param>  

       public static void CreateSeries(this ChartControl chat, string seriesName, ViewType seriesType, object dataSource, string xBindName, string yBindName)   

      {        

     CreateSeries(chat, seriesName, seriesType, dataSource, xBindName, yBindName, null);   

      }   

      /// <summary>   

      /// 创建Series     

    /// </summary>      

   /// <param name="chat">ChartControl</param>     

    /// <param name="seriesName">Series名字『诸如:理论电量』</param>    

     /// <param name="seriesType">seriesType『枚举』</param>   

      /// <param name="dataSource">数据源</param>  

       /// <param name="xBindName">ChartControl的X轴绑定</param>   

      /// <param name="yBindName">ChartControl的Y轴绑定</param>    

     /// <param name="createSeriesRule">Series自定义『委托』</param>    

     public static void CreateSeries(this ChartControl chat, string seriesName, ViewType seriesType, object dataSource, string xBindName, string yBindName, Action<Series> createSeriesRule)  

       {       

      if (chat == null)    

             throw new ArgumentNullException("chat");        

     if (string.IsNullOrEmpty(seriesName))         

        throw new ArgumentNullException("seriesType");   

          if (string.IsNullOrEmpty(xBindName))  

               throw new ArgumentNullException("xBindName");     

        if (string.IsNullOrEmpty(yBindName))        

         throw new ArgumentNullException("yBindName");

            Series _series = new Series(seriesName, seriesType);     

        _series.ArgumentScaleType = ScaleType.Qualitative;

            _series.ArgumentDataMember = xBindName;   

          _series.ValueDataMembers[0] = yBindName;

            _series.DataSource = dataSource;     

        if (createSeriesRule != null)        

         createSeriesRule(_series);     

        chat.Series.Add(_series);    

     }

    }

} 代码示例:

        public Form1()    

     {         

    InitializeComponent();  

       }  

       private void Form1_Load(object sender, EventArgs e)    

     {      

       DataTable _dt = CreateTestDB();  

           chartControl1.CreateSeries("理论功率", ViewType.Spline, _dt, "time", "Power");   

          chartControl1.CreateSeries("实际功率", ViewType.Spline, _dt, "time", "ActulPower");

        }        

/// <summary>  

       /// 准备数据源

        /// </summary>      

   /// <returns>DataTable</returns>    

     private DataTable CreateTestDB()     

    {          

   DataTable _testData = new DataTable();   

          _testData.Columns.Add(new DataColumn("time", typeof(string)));   

          _testData.Columns.Add(new DataColumn("Power", typeof(decimal)));   

          _testData.Columns.Add(new DataColumn("ActulPower", typeof(decimal)));   

          Random _rm = new Random();  

           for (int i = 0; i < 24; i++)     

        {                

DataRow _drNew = _testData.NewRow();   

              _drNew["time"] = string.Format("{0}点", i);   

              _drNew["Power"] = 250;        

         _drNew["ActulPower"] = _rm.Next(220, 245);    

             _testData.Rows.Add(_drNew);      

       }        

     return _testData;    

     }

posted on 2015-08-17 17:49  zrSoldier  阅读(213)  评论(0编辑  收藏