0

私は完全に機能するダイナミック チャート コントロール (通常の ASP.net チャートのみ) を持っています。うまく機能しますが、凡例にチェック ボックスを追加しようとして問題が発生しました。ユーザーがそれぞれのシリーズデータを非表示または表示できるように、シリーズ名の横にそれらを追加しようとしています。このグラフは、約 42 人の従業員のデータをプロットしています。したがって、データを選択して非表示にできることは非常に重要です。私はこれを数日間調査しており、サードパーティのグラフツールの例を見つけましたが、MSVS 2010 標準のグラフ作成ツールでこれを行う必要があります。

これが私がチャートを作成する方法です。

 for (int emp = 1; emp < empRowList.Length; emp++)
        {
            chartB.Series.Add(empRowList[emp]);
            chartB.Series[empRowList[emp]].ChartType = SeriesChartType.Point;
            chartB.Series[empRowList[emp]].MarkerSize = 10;
            chartB.Series[empRowList[emp]].MarkerStyle = MarkerStyle.Star4;            

            for (int month = 1; month < 12; month++)
            {
                    chartB.Series[empRowList[emp]].Points.AddXY(mfi.GetMonthName(month), employeeStats[month, emp]);
                    chartB.Series[empRowList[emp]].Points[chartB.Series[empRowList[emp]].Points.Count - 1].ToolTip = empRowList[emp] + " - " + employeeStats[month, emp];                   
            }
        }

これが私がチャートをフォーマットする方法です

 chartB.DataSource = t.Tables["info"];
 chartB.DataBind();
 chartB.Legends.Add(new Legend("Legend"));
 chartB.Legends["Legend"].Alignment = StringAlignment.Center;
 chartB.Legends["Legend"].Docking = Docking.Top;

この投稿を調べて、助けになるように拡張できると考えましたが、彼のシリーズは動的に追加されていないため、追求するのが正しい方向であるかどうかはわかりません.

ASP .net 4 チャート コントロールの凡例の書式設定がまったく表示されない

カスタム凡例の使用についても調べましたが、それらがデータにリンクされていないことを読んだので、それも間違った方向である可能性があると思いました.

誰かがそれを助けることができれば、私はこれを理解できるまで、私はちょっと立ち止まっている.

前もって感謝します

4

2 に答える 2

1

私は似たようなことをしようとしていたので、これに関するいくつかのコードは素晴らしかったでしょう。

ただし、カスタムの凡例は不可能であると述べている msdn の投稿を見つけました。

http://msdn.microsoft.com/en-us/library/bb677428(v=sql.100).aspx

于 2012-07-26T18:57:05.330 に答える
0

上記のリンクのコードを使用して、私が望んでいたものと同様の解決策を見つけることができましたが、凡例を適切に機能させることができなかったので、そのアイデアを破棄し、チャートの下に非表示/表示するチェックボックスバンクを動的に作成しましたシリーズ。クラスを作成し、クリックイベントとグラフの再描画を処理するだけで、それほど難しくはありませんでした。

于 2012-05-23T13:36:10.537 に答える