pandaこの広告は、90日以上更新していないブログに表示しています。Formでチャートを作成するためのコンポーネントの話。本家http://www.dotnetcharting.com/グラフを扱うアプリケーション作ってると、グラフ画像をクリックして、その要素の詳細を表示する処理を実行したり、別ページに遷移したりっていうことを実現したいことがよくあります。.netCHARTINGでは、あらかじめ詳細データもChartのコントロールにセットしておき、コンポーネントの機能のみでドリルダウン動作をさせることもできるみたいですが、なんか思った通りに動かすのが難しそうなので私はあんまり使ってません。ASP.NETでこいつを実装した時、グラフ画像をクリックした時に自ページのURLにQueryStringでパラメータをくっつけてGETリクエストしてしまうので、ViewStateが破棄されます。いうことは、ASP.NETで普通にページを作った場合、他のサーバコントロールと併用できないわけです。本家のドキュメントも探してみたんですが結局見つかっていません。擬似的にPostBackしたような感じでグラフ選択値を取得するサンプルを作ってみました。完全なソースはここに置いときます。http://homepage.mac.com/mikaduki27/ITpanda/src/dNC.zipポイントは以下のような感じ。runat="server"></dotnet:chart>疑似PostBackのための隠しフィールドとボタン。「index=_id」とか書くと、後でそれをカスタム属性として設定できます。********」と書くと、グラフ画像クリック時にクライアントスクリプトを実行できます。や%Nameを使用することはできますが、ブラウザで表示した際のJavascriptのエスケープを考慮しないといけないので、めんどくさいです。今回はあらかじめ集計結果データに連番を振り、%indexをサーバ側に返すように構成しています。"\')";//これはオマケ。hidID.Value;//Chartに表示した元データのDataSetのindex列の値と比較して、クリックされた要素を特定する。}テストデータの作成コード//Chartに表示するDataSetの定義はこんな感じ。普通はDBにSQLを投げると思うので、結果セットがこういう風になるようにSQLを書けばいい。"1";//この列に連番を入れていく。・これでグラフ画像をクリックするとPostBackし、ラベルにYとXの選択値を表示できました。引用符とか改行とかの記号が入っていても問題なく取得できます。読者になるはてなブログをはじめよう!oui27さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。