將一個帶有數值的二維表格轉化成曲線圖是再簡單不過的事情了,EXCEL中點幾下就能夠實現。但是剛剛學用TeeChart卻實在是頭疼了一陣。個人覺得TeeChart的功能雖然很強大,但是API介面設計得過於煩瑣,而且協助文檔實在太糟糕了,短短的一句話,什麼都沒說清楚。我就這樣一個一個猜啊猜啊,終於苦盡甘來。
介紹下過程,或許對大家有協助:環境為vs2005, TeeChart 3.2。
畫曲線的目的是想將資料庫裡面的一個匯總結果用曲線顯示出來,構造的偽資料如下: DataTable tbl = new DataTable();
tbl.Columns.Add("time", typeof(string));
tbl.Columns.Add("value", typeof(int));
tbl.Rows.Add(new object[] ...{ "2008-01-01", 100 });
tbl.Rows.Add(new object[] ...{ "2008-01-02", 23 });
tbl.Rows.Add(new object[] ...{ "2008-01-03", 456 });
tbl.Rows.Add(new object[] ...{ "2008-01-04", 78 });
tbl.Rows.Add(new object[] ...{ "2008-01-05", 123 });
tbl.Rows.Add(new object[] ...{ "2008-01-06", 345 });
tbl.Rows.Add(new object[] ...{ "2008-01-07", 23 });
tbl.Rows.Add(new object[] ...{ "2008-01-08", 90 });
tbl.Rows.Add(new object[] ...{ "2008-01-09", 342 });
1、建一個aspx檔案line.aspx;
2、在設計檢視中拖進去一個控制項;
3、在屬性視窗的雜項中,將GetChartFile設定成GetChart.aspx(預設)
將TempChart屬性設定成Session
將TeeChart安裝目錄下的例子檔案夾中,將GetChart.aspx拷貝到當前的工程目錄下。(注意:這個檔案要設定好,不然圖片顯示一個叉叉,在這裡花了好多時間)
4、開啟line.aspx.cs:
加入名稱空間using Steema.TeeChart.Styles;
進入Page_Load()方法:
新增一個曲線的對象:Line line= new Line(WebChart1.Chart);
將以上的偽造DataTable的代碼也複製在這裡。
5、嘗試了很久,找到了第一種畫曲線圖的方法:foreach (DataRow r in tbl.Rows)
...{
line.Add(Convert.ToDouble(r[1]), r[0] as string);
}
6、感覺太原始了,應該還有更好的辦法!!!繼續翻API手冊,不同的寫代碼測試,終於找到:line.YValues.DataMember = "value";
line.LabelMember = "time";
line.DataSource = tbl;
我覺得,做.NET,可以沒有Visual Stuio,但是絕對不能沒有MSDN。好的參考資料,讓使用者快速學會怎麼使用,真的是太重要了!!!