タイトル | : Re: VB2008でグラフ作成をしたいが |
記事No | : 9713 |
投稿日 | : 2009/12/14(Mon) 18:51 |
投稿者 | : 魔界の仮面弁士 |
> 過去ログをみると MSChart を使って…とあるのですが、 http://hanatyan.sakura.ne.jp/dotnet/mschart1.htm ≫パソコン内にVB6.0がインストールされていないと使用できません。 とありますね。
替わりに、アドオンの Chart コントロールを使うか、 http://www.microsoft.com/downloads/details.aspx?familyid=130F7986-BF49-4FE5-9CA8-910AE6EA442C&displaylang=ja http://www.microsoft.com/downloads/details.aspx?familyid=1d69ce13-e1e5-4315-825c-f14d33a303e9&displaylang=en http://www.microsoft.com/downloads/details.aspx?familyid=581FF4E3-749F-4454-A5E3-DE4C463143BD&displaylang=ja あるいは、ReportViwer を試してみてください。 http://msdn.microsoft.com/ja-jp/library/ms251671.aspx http://msdn.microsoft.com/ja-jp/library/ms252128.aspx
前者については、 http://code.msdn.microsoft.com/mschart/Release/ProjectReleases.aspx?ReleaseId=1591 にサンプルがあります(C# ですけれども)。
後者はこんな感じ。ヘルプにもチュートリアルがあります。
(1) [プロジェクト]-[新しい項目の追加]から、「データセット」を追加。(DataSet1.xsd)
(2) [プロジェクト]-[新しい項目の追加]から、「レポート」を追加。(Report1.rdlc)
(3) ソリューション エクスプローラから、"DataSet1.rdlc" をダブルクリックして データセット デザイナを開く。
(4) データセット デザイナを右クリックして、[追加]-[DataTable] を選択。
(5) 追加された "DataTable1" を右クリックして、[追加]-[列]を繰り返して、 "DataColumn1"と"DataColumn2"を追加する。
(6) 追加した列の DataType プロパティを変更して、 DataColumn1 は System.Int32 に変更し、 DataColumn2 は System.String のままにする。
(7) ソリューション エクスプローラから、"Report1.rdlc" をダブルクリックして レポート デザイナを開く。
(8) ツールボックスにある、"グラフ" をレポートにドロップする。(Name = chart1) 初期表示では、縦棒グラフになっているので、とりあえずこれを利用。
(9) [データ]-[データソースの表示]を選択して、データソース ウィンドウを開く。
(10) データソース ウィンドウの DataTable1\DataColumn1 をドラッグして、 レポート デザイナ上の char1 の上に持っていく。すると、 上部に「ここにデータフィールドをドロップします」と表示されるので、 そこに DataColumn1 をドロップする。
(11) 同様に DataTable1\DataColumn2 をドラッグして、今度は char1 の 下部にある「ここにカテゴリ フィールドをドロップします」にドロップする。
(12) ソリューション エクスプローラから、"Form1.vb" をダブルクリックして フォーム デザイナを開く。
(13) ツールボックスにある、"MicrosoftReportViewer" を フォーム デザイナにドロップする。(Name = ReportViewer1)
(14) フォーム デザイナ上の ReportViewer1 を選択し、右上に表示される 右向き三角(タスク)を選択して、「レポートの選択」から "WindowsApplication1.Report1.rdlc" を指定する。
(15) Form1 のコードに以下を追加。
Public Class Form1 Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load '実験用の人口データ Me.DataSet1.DataTable1.AddDataTable1Row(3699428, "東京都") Me.DataSet1.DataTable1.AddDataTable1Row(2587847, "大阪府") Me.DataSet1.DataTable1.AddDataTable1Row(1323390, "神奈川県") Me.DataSet1.AcceptChanges()
'データの表示 Me.ReportViewer1.RefreshReport() End Sub End Class
|