tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルMSChart ChartArea 内の Series の数の取得方法
記事No10125
投稿日: 2010/06/01(Tue) 11:42
投稿者ぽると
いつもお世話になっています。

・環境
OS : Windows XP SP3
VB : 2008 + .NET Framework 3.5 SP1 + MSChart for .NET Framework 3.5

Microsoftで公開されている MSChart のサンプル「MultipleYAxis」を参考にして、
単位の異なるデータ値を ChartArea を重ねて複数Y軸表示しています。

・動作の流れ
@ DataGridView にデータ一覧を表示する。
   一列目はどの階層のグラフに表示するかを選択するコンボボックスにしています。
   コンボボックスのアイテムは (空白)、(階層1)、(階層2)、(階層3) 。
A コンボボックスで階層を選択すると、指定した階層のグラフに表示する。
B (空白) 選択時はその項目を非表示にする。

B の時に、各階層の ChartArea に表示されている項目が無い場合は非表示or削除したいのですが、
ChartArea にいくつ Series が表示されているかを取得する方法はあるでしょうか?

よろしくお願い致します。

[ツリー表示へ]
タイトルRe: MSChart ChartArea 内の Series の数の取得方法
記事No10126
投稿日: 2010/06/01(Tue) 12:19
投稿者花ちゃん
質問の趣旨がよく解らないのですが?
自分で表示設定をしているのなら、いくらでも取得方法があるかと思うのですが?

   Debug.Print(Chart1.Series.Count.ToString()) 等ではだめと言う事ですか?
  
  又は、表示している元データを取得してもいいのでは。

[ツリー表示へ]
タイトルRe^2: MSChart ChartArea 内の Series の数の取得方法
記事No10127
投稿日: 2010/06/01(Tue) 13:02
投稿者ぽると
花ちゃんさん
言葉足らずですいません。

Chart1 内の Series の総数ではなく、ChartArea 毎の Series の数を取得する方法があればと思い質問させていただきました。

チャートコントロールの構成
Chart1
-- ChartArea("Default")              ' 位置コピー用。
-- ChartArea("ChartArea_階層1")     ' 「階層1」が選択された時に作成
-- ChartArea("ChartArea_階層2")     ' 「階層2」が選択された時に作成
-- ChartArea("ChartArea_階層3")     ' 「階層3」が選択された時に作成
-- ChartArea("AxisY_階層1")         ' 「階層1」が選択された時に作成。複数Y軸表示用
-- ChartArea("AxisY_階層2")         ' 「階層2」が選択された時に作成。複数Y軸表示用
-- ChartArea("AxisY_階層3")         ' 「階層3」が選択された時に作成。複数Y軸表示用

例えば、Bで (空白) が選択された時、その項目が「階層1」の ChartArea にあり、
他に「階層1」の ChartArea に指定されている Series が無ければ、
階層1の ChartArea を非表示or削除しようとしています。

今のところ、考えている方法としては
・データグリッドで階層が指定されているかチェックする。
・Series の ChartArea をチェックする。
がありますが、もう少しスマートな方法があればと思いまして・・・。

よろしくお願い致します。

[ツリー表示へ]