C#chart圖表的應用

在圖表中,x軸表明類別,y軸表明數值(比如類與他們的屬性)數據庫

image

這是數據庫中的數據,下面咱們選前5輛車,在圖表中顯示他們的名字,油耗,功率,價格編程

image

建立查詢數據的類工具

 

複製代碼
class CarDA
    {
        public List < CarData> select()
        {
            List < CarData > list= null;
            SqlConnection conn = new SqlConnection("server=.;database=mydb;user=sa;pwd=123");
            conn.Open();
            SqlCommand cmd = conn.CreateCommand();
            cmd.CommandText = "select top 5* from car";
            SqlDataReader dr= cmd.ExecuteReader() ;
            if(dr.HasRows)
            {
                list = new List<CarData>();
                while(dr.Read())
                {
                CarData data = new CarData();
                data = new CarData();
                data.Name = dr["name"].ToString();
                data.Oil=(decimal)dr["oil"];
                data.Powers=dr["powers"].ToString();
                data.Price=(decimal )dr["price"];
                list.Add(data);
                }
            }
            return list;
            cmd.Dispose();
            conn.Close();
        }
    }
複製代碼

 

複製代碼
class CarData
    {
        private string _name;

        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }
        private decimal _oil;

        public decimal Oil
        {
            get { return _oil; }
            set { _oil = value; }
        }
        private string  _powers;

        public string  Powers
        {
            get { return _powers; }
            set { _powers = value; }
        }
        private decimal _price;

        public decimal Price
        {
            get { return _price; }
            set { _price = value; }
        }
    }
複製代碼

窗體一加載,給圖表綁定數據源,注意:綁定時以一列爲單位,指明每列的x軸和y軸分別對應數據源的屬性名(也就是泛型集合裏面對象的屬性名)。注意:指定的必須是屬性名,不能是字段名,這也要求數據源的對象的字段必須封裝,必須有屬性。spa

這裏體現了C#編程的封裝特性,咱們給chart圖表工具一個數據源,讓它幫咱們形象的展現數據,咱們並不關心究竟是怎樣實現的,咱們只告訴它須要顯示那些數據,剩下的就交給chart圖表工具了。code

複製代碼
private void Form1_Load(object sender, EventArgs e)
        {
            List<CarData> list = new CarDA().select();
            if (list != null)
            {
                chart1.DataSource = list;
                chart1.Series["Series1"].XValueMember="name";
                chart1.Series["Series1"].YValueMembers = "oil";
            }

        }
 
 
複製代碼
運行結果

image

在Series屬性裏,能夠設置每列的顯示名字,並添加新列orm

 

image

 

複製代碼
private void Form1_Load(object sender, EventArgs e)
        {
            List<CarData> list = new CarDA().select();
            if (list != null)
            {
                chart1.DataSource = list;
                chart1.Series["油耗"].XValueMember="name";
                chart1.Series["油耗"].YValueMembers = "oil";
                chart1.Series["功率"].XValueMember = "name";
                chart1.Series["功率"].YValueMembers = "powers";
                chart1.Series["價格"].XValueMember = "name";
                chart1.Series["價格"].YValueMembers = "price";
            }

        }
複製代碼

image

相關文章
相關標籤/搜索