2008年7月14日月曜日

オープンソースのグラフ作成用Dll

グラフ作成http://www.atmarkit.co.jp/fdotnet/vblab/extcompo_02/zedgraph_01.html
http://sourceforge.net/project/showfiles.php?group_id=114675&package_id=184194
zedgraph_dll_v514_464をダウンロード
参照の追加,zedgraph_dll_v5.1.4フォルダ直下の2つのdllとも。画像のキャッシュフォルダとして、ZedGraphImagesフォルダを作成。(コントロールを置くappxページと同じフォルダに)ツールボックスにZedGraphタブを追加し、アイテム選択で"ZedGraph.Web.dll"を選択。aspxページにZedGraphWebパーツを配置、RenderGraphイベントハンドラを追加。(以降このイベントハンドラをZedGraphWeb1_RenderGraphとする)ZedGraphWeb1_RenderGraphイベントハンドラはこんな型になるので、外部クラスで書かせてみる。(当然Page_Loadが動いた後にRenderGraphが動く(はず)なので、Page_Loadで生成したデータをインスタンス変数を介してRenderGraphで利用できそう。) protected void ZedGraphWeb1_RenderGraph(ZedGraph.Web.ZedGraphWeb webObject, System.Drawing.Graphics g, ZedGraph.MasterPane pane)
{
BurnOutGraph.CreateChart(pane[0]);
}

public static class BurnOutGraph
{
// Call this method from the Form_Load method, passing your ZedGraphControl instance
public static void CreateChart(GraphPane zgc)
{
// Get a reference to the GraphPane
GraphPane myPane = zgc;



GraphPane myPane = zgc; :以降は、http://zedgraph.org/wiki/index.php?title=Multi-Y_Demoのページと同様で作れそう。


他、ユーザ管理の方法。用意されている簡単に仕上げるためにVisual Studio標準のLoginパーツを使いたい。ただ、完成版では、Linux(mono+xsp2)でも動かせるようにしたいので、DBはSQL Serverの他、SQLiteでも動作可能としたい。(なので、SQL ServerべったりっぽいLINQは今回は使わないようにしようと考えてる。)で、カスタムのRoleProviderとMembershipProviderを作って、web.configで指定してやればよいはずなんだけど、http://www.codeproject.com/KB/aspnet/WSSecurityProvider.aspxのページが英語。abstractなクラスを継承し、abstractなメソッドを実装すればインスタンスが作れて、ちゃんと動きそうなんだけど。
http://d.hatena.ne.jp/hate666komei/20061219/1166516102では、プログラミングASP.NET 2.0の P.818から書いてあるって書いてあるけど、あの本は会社に置きっぱなしにしているので手元にない。
まだ、時間はあるからあんまりあせらなくてもいいか。