實做Microsoft Chart Controls折騰了我一天...
- 2009-01-21
- 31335
- 0
話說,最近被指派的任務還真不少,今天boss突然又丟了一個需求,我們來改一下報表系統的圖吧,挑了一下決定還是擁抱微軟的圖表元件【Microsoft Chart Controls】,畢竟是真的漂亮但是難度勒?沒啥人用也不知道(或許我應該去Dundas的官網找...),反正有需求做就對啦。
安裝的順序以及Microsoft Chart Controls介紹都在demo之前寫過的文章內【Microsoft Chart Controls圖表新利器】
再來就是說明demo小卡的地方,讓有需要的人可以直接前往應該花時間的地方,不要像我一樣花時間在鳥地方....
在開啟一個website或是web Application 後記得要加入參考而Microsoft Chart Controls放在
x:\Program Files\Microsoft Chart Controls\Assemblies\System.Web.DataVisualization.dll
x:\Program Files\Microsoft Chart Controls\Assemblies\System.Windows.Forms.DataVisualization.Design.dll
Microsoft Chart Controls有各實用的小技巧,可以在產生圖表的時候順便產生一份到你指定的實體目錄下,使用方式你必須要設定
-
ImageStorageMode="UseImageLocation"
然後預設的存放路徑為
-
ImageLocation="ChartPic_#SEQ(300,3)"
建議你是改一下存放路徑啦,不過那不是重點,重點是命名的方式預設的命名方式會產生出ChartPic_000001.png的檔名。
- SEQ是表示使用流水號
- 300表示最大範圍如果排到300號,下一張會跳回1並且覆蓋掉000001的圖
- 3是檔案存活時間,也就是該編號的檔案會被移除的時間
- 如果你不想使用流水號也可以使用#UIDs()這樣子每張圖片都會產生一組UID來命名存放
如果你真的有實作了你一定會發現你作出來的圖怎麼看就是怪怪的下面是範例的圖片 這是實做出來的圖片 有看出來吧,範例的圖片長條圖有透明的感覺,可是我們實做出來的卻沒有,demo找了很久,比對了半天,DataVisChartControl.chm也看了就是找不到有相關的參數,後來發揮之前作MIS的交叉測試精神交互者比對,才終於發現到一個很靠背的設定(請原諒我這種氣憤不是可以形容的)那就在是在<Series>標籤下設定的 <asp:Series 裡面有一個color的屬性可以設定,在屬性頁面中可以選它很自然的給我們挑選的是HEX色碼,而且也吃顏色名稱,而範例的Source卻是給RGB色碼,看看下圖 最要命的是明明給的是RGB色碼屬性卻是挑選HEX色碼
而你或許不知道RGB前面還有一個A的色碼可以設定,他是代表了透明度,沒錯就是它母親的透明度當我們把color的顏色改成這樣給以後 就有半透明的效果了....真是浪費我的時間......太相信Visual Studio也是不好的就發此篇經驗出來,讓網路上如果有人發生此問題有解答可以看....我可愛的三小時阿......還我青春阿
回應討論