這東西挺直觀spa
封裝個類設計
public class aaa { private string name; public string Name { get { return name; } set { name = value; } } private int number; public int Number { get { return number; } set { number = value; } } }
private void Form1_Load(object sender, EventArgs e) { List<aaa> ooo=new List<aaa>(); SqlConnection conn = new SqlConnection("server=.;database=aaaaa;user=sa;pwd=123"); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "select * from chart"; conn.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows) { while (dr.Read()) { aaa rrr = new aaa(); rrr.Name=dr["name"].ToString(); rrr.Number = Convert.ToInt32(dr["degree"]); ooo.Add(rrr); } } cmd.Dispose(); conn.Close(); chart1.DataSource=ooo; chart1.Series["Series1"].XValueMember ="name"; //Series是個集合[Series1]表明藍色的柱子,那麼就會有[Series2] 設置來源顏色 能夠表明其餘的 chart1.Series["Series1"].YValueMembers = "Number"; }
很少說,這個chart能夠添加多個柱狀圖進行比較,他本身自動獲取Y軸最大值因此所比較的兩個單位在數值上不要相差不少,固然也能夠設計成餅型code
在Series集合裏面再添加一個Series,用linq作orm
添加linq toSql類server
private void Form1_Load(object sender, EventArgs e) { DataClasses1DataContext context = new DataClasses1DataContext(); List<Score> list = context.Score.Take(6).ToList(); chart1.DataSource = list; chart1.Series["Series1"].XValueMember = "sno"; chart1.Series["Series1"].YValueMembers = "degree"; chart1.Series["Series2"].XValueMember = "cno"; chart1.Series["Series2"].YValueMembers = "sno"; }