Visual Studio 2010 Chart 探秘
昨天晚上无聊 所以研究了下VS2010的Chart控件 在这里和大家分享了一下研究成果 不足之处 还望指教(1)在数据中可以找到chart 控件
拖放到form中 设置一下 样式 和 Dock
chart可以设置向导数据源 这里比较简单 俺就不演示了
(2)控件拖放好 切换到代码界面
主要代码如下 数据库用的是pubs 呵呵 很简单吧 chart 确实给我们开发带来了很多方便 个人觉着和DEVEXPRESS比起来还是显得稚嫩了些
本人试过了 后台绑定数据源不支持DataSet 貌似只有在设置向导数据源时才支持 这点很不理解 。。。。
程序代码:
using System; using System.Collections.Generic; using using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using System.Windows.Forms.DataVisualization.Charting; namespace WindowsFormsApplication9 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { //DataReader //string myConnectionString = "Data Source=.;Initial Catalog=pubs;User ID=sa;Pwd=×××××;"; //string sql = "select discount 金额,discounttype from discounts"; //SqlConnection conn = new SqlConnection(myConnectionString); //SqlCommand cmd = new SqlCommand(sql, conn); //cmd.Connection.Open(); //SqlDataReader reader = cmd.ExecuteReader(); //chart1.DataBindTable(reader, "discounttype"); //cmd.Connection.Close(); //foreach (Series series in chart1.Series) //{ // series.CustomProperties = "DrawingStyle=LightToDark"; //} //数组 arraylist 也可以 //int[] a = new int[] { 1,22,33,17}; //chart1.DataBindTable(a); //泛型 List<discounts> list =null; //datareader string myConnectionString = "Data Source=.;Initial Catalog=pubs;User ID=sa;Pwd=××××××;"; string sql = "select discount 金额,discounttype from discounts"; SqlConnection conn = new SqlConnection(myConnectionString); SqlCommand cmd = new SqlCommand(sql, conn); cmd.Connection.Open(); SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { list = new List<discounts>(); } while (reader.Read()) { discounts _discounts = new discounts(); _discounts.Discount = reader["金额"] == DBNull.Value ? 0 : decimal.Parse( reader["金额"].ToString().Trim()); _discounts.Discounttype = reader["discounttype"] == DBNull.Value ? string.Empty : reader["discounttype"].ToString().Trim(); list.Add(_discounts); } reader.Close(); reader.Dispose(); cmd.Connection.Close(); //用于X轴显示的列名 chart1.DataBindTable(list, "discounttype"); //俺对比了一下 发现这里循环设置所有的渐变效果以及图标样式 //【官方的解释是指定数据点的绘制样式】可以设置这几个值 Cylinder、 Emboss、 LightToDark、 Wedge、 Default。 //帮助文档源代码是这样 俺试过没有这个属性所以修改下 //foreach (Series series in chart1.Series) //{ // series.CustomAttributes = "DrawingStyle=LightToDark"; //} //修改如下 foreach (Series series in chart1.Series) { series.CustomProperties = "DrawingStyle=LightToDark"; series.LegendText = "金额统计"; } } }//类Form1结束 }//命名空间结束运行结果 如下
附上代码
WindowsFormsApplication9.rar
(79.06 KB)
[ 本帖最后由 wangnannan 于 2010-12-11 09:17 编辑 ]