DevExpress的ChartControl雖然還不能徹底代替Office圖表(例如它暫時不支持添加數據表),但它算同類產品中至關優秀的了,下面是對0值和空值的處理。blog
DataTable zeroDT = new DataTable("zeroDT"); zeroDT.Columns.Add("X", typeof(int)); zeroDT.Columns.Add("Y", typeof(int)); zeroDT.Rows.Add(new object[] { 1, 5 }); zeroDT.Rows.Add(new object[] { 2, 4 }); zeroDT.Rows.Add(new object[] { 3, 0 }); zeroDT.Rows.Add(new object[] { 4, 1 }); zeroDT.Rows.Add(new object[] { 5, 2 }); DataTable nullDT = new DataTable("nullDT"); nullDT.Columns.Add("X", typeof(int)); nullDT.Columns.Add("Y", typeof(int)); nullDT.Rows.Add(new object[] { 1, 5 }); nullDT.Rows.Add(new object[] { 2, 4 }); nullDT.Rows.Add(new object[] { 3, null }); nullDT.Rows.Add(new object[] { 4, 1 }); nullDT.Rows.Add(new object[] { 5, 2 }); chartControl1.DataSource = zeroDT; chartControl1.Series[0].ValueDataMembers[0] = "Y"; chartControl1.Series[0].ArgumentDataMember = "X"; chartControl2.DataSource = nullDT; chartControl2.Series[0].ValueDataMembers[0] = "Y"; chartControl2.Series[0].ArgumentDataMember = "X";