C#chart圖表的應用

來源:互聯網
上載者:User

標籤:

在圖表中,x軸代表類別,y軸代表數值(好比類與他們的屬性)

這是資料庫中的資料,下面我們選前5輛車,在圖表中顯示他們的名字,油耗,功率,價格

建立查詢資料的類

 

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軸分別對應資料來源的屬性名稱(也就是泛型集合裡面對象的屬性名稱)。注意:指定的必須是屬性名稱,不能是欄位名,這也要求資料來源的對象的欄位必須封裝,必須有屬性。

這裡體現了C#編程的封裝特性,我們給chart圖表工具一個資料來源,讓它幫我們形象的展示資料,我們並不關心到底是怎樣實現的,我們只告訴它需要顯示那些資料,剩下的就交給chart圖表工具了。

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";            }        }
運行結果

在Series屬性裡,可以設定每列的顯示名字,並添加新列

 

 

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";            }        }

C#chart圖表的應用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.