閃光區
demo當選微軟2009年度第三季最有價值專家
demo獲得藍色小舖2009高級專家認證
demo獲得藍色小舖2009資訊專家貢獻獎
認證徽章
工商時間
 
demo小鋪

實做Microsoft Chart Controls折騰了我一天...

話說,最近被指派的任務還真不少,今天boss突然又丟了一個需求,我們來改一下報表系統的圖吧,挑了一下決定還是擁抱微軟的圖表元件【Microsoft Chart Controls】,畢竟是真的漂亮但是難度勒?沒啥人用也不知道(或許我應該去Dundas的官網找...),反正有需求做就對啦。
  • 檔案名稱: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有各實用的小技巧,可以在產生圖表的時候順便產生一份到你指定的實體目錄下,使用方式你必須要設定


  1. 		ImageStorageMode="UseImageLocation" 

然後預設的存放路徑為


  1. 		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也是不好的就發此篇經驗出來,讓網路上如果有人發生此問題有解答可以看....我可愛的三小時阿......還我青春阿

 
 
加入此網頁到:Google Bookmarks
加入此網頁到:Yahoo! My Web
加入此網頁到:Baidu
加入此網頁到:MyShare
加入此網頁到:udn
加入此網頁到:furl
加入此網頁到:Del.icio.us
加入此網頁到:YouPush
加入此網頁到:Digg
加入此網頁到:你推我報
加入此網頁到:technorati
加入此網頁到:HemiDemi
 
相關的文章(隨機)

將本文推到 Plurk
將本文推到 Facebook
將本文推到 Twitter
將本文產生 PDF 保存
 

網友留言

kiki
發表於:2010-02-03
Demo大您好^^
真是不好意思,我又來了= =a
我試著將chart的Series隨著user勾選的值來做變動,例如user可以勾選他想要看的Series資料(有a、b、c...八種),則勾選a、b時chart就只會顯現a、b的Series資料,或者全選時就會出現全部的Series資料。
在這裡遇到的問題是...不知道如何寫C#程式碼在chart動態產生Series供user觀看...Series似乎要在.aspx檔先寫好...可是這樣就不能動態產生正確的Series數量...
同時我會再努力研究,先謝謝了,萬分感激Demo大<(_ _)>
有抓完整的範例檔回來看嗎?其實這些事情可以完全用 JS 去處理,如果一定要去後端也可以利用 AJAX 去做到互動。

幸運龍
發表於:2009-12-15
真是勵害, 我花了一天也找不到, 最後放棄了這個元件, 找別的做了, 但現在知道, 感覺你真的勵害! 日後有機會再用這內建的元件

有幫助到你我很開心。

新增評論
* 暱稱
E-mail (本站使用Gravatar頭像E-mail不會顯示於網站上)
不填寫email將不會收到回覆通知。
網站
* 評論
不打勾才可留言
demo小鋪
 .