using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using DevComponents.DotNetBar; using System.Windows.Forms.DataVisualization.Charting; using System.Data.OracleClient; namespace Cyberpipe { public partial class FrmBSQStreet : Office2007Form { public static bool IS_OPEN = false; public Dictionary<string, int> bsq = new Dictionary<string, int>(); public FrmBSQStreet() { InitializeComponent(); string sql = "select count(t.所属道路) as num,t.所属道路 from 标识器 t group by t.所属道路"; using (OracleDataReader reader = OracleUtils.ExecuteReader(OracleUtils.ConnectionString, CommandType.Text, sql)) { while (reader.Read()) { bsq.Add(Convert.ToString(reader["所属道路"]), Convert.ToInt16(reader["num"])); } } } private void FrmBSQStreet_Load(object sender, EventArgs e) { try { IS_OPEN = true; int count = 0; chartStatis.Series.Add("标识器"); chartStatis.ChartAreas["ChartArea1"].AxisY.Title = "标识器个数"; chartStatis.ChartAreas["ChartArea1"].AxisX.Interval = 1; chartStatis.Series[0].ChartType = SeriesChartType.Column; chartStatis.Series[0]["DrawingStyle"] = "Cylinder"; chartStatis.Series[0].Points.DataBindXY(bsq.Keys, bsq.Values); for (int m = 0; m < bsq.Values.Count; m++) { if (chartStatis.Series[0].Points[m]!=null&&chartStatis.Series[0].Points[m].YValues[0].ToString().Trim() != "0") { count += Convert.ToInt16(chartStatis.Series[0].Points[m].YValues[0].ToString()); chartStatis.Series[0].Points[m].Label = chartStatis.Series[0].Points[m].YValues[0].ToString(); } } chartStatis.ChartAreas["ChartArea1"].AxisX.Title = "街道(总数:" + count + ")"; } catch (Exception ex) { } } private void FrmBSQStreet_FormClosing(object sender, FormClosingEventArgs e) { IS_OPEN = false; } } }