事務屋さんの備忘録

主にプログラミングのことを書いていきます。メモというか備忘録的な感じで。プログラミングといっても、私はプロのエンジニアでも本職のプログラマーでもありません。単なる事務職をやってるサラリーマンで、空いた時間にちょこちょこっとプログラミングしてる程度です。よってこのブログに記載したことが誤っていたり、もっとよい方法がある場合もあると思います。その場合には、ご指摘いただけると嬉しいです。また、このブログを読んで役に立った、なんて方がいらっしゃったら幸いですね。

ASP.NET レーダーチャート

メモ

Imports System.Data.SqlClient

Public Class Graph4
    Inherits System.Web.UI.Page

    Dim con As New SqlConnection

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    End Sub

    Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        con.ConnectionString =
            ConfigurationManager.ConnectionStrings("OrderConnectionString").ConnectionString

        Dim strSQL As String = "SELECT"
        strSQL += " ID, Subject, Point, Standard"
        strSQL += " FROM sampleDB2.dbo.Graph03"
        strSQL += " WHERE ID = @pPersonCD"
        strSQL += " ORDER BY Subject"

        Dim cmd As New SqlCommand(strSQL, con)

        Dim pPersonCD As SqlParameter = cmd.Parameters.Add("@pPersonCD", System.Data.SqlDbType.VarChar)
        pPersonCD.Value = "094727"

        con.Open()

        Dim dAdap As New SqlDataAdapter()
        dAdap.SelectCommand = cmd

        Dim ds As New DataSet
        dAdap.Fill(ds)

        con.Close()
        con.Dispose()


        With Chart1
            '初期化
            .Series.Clear()

            'Chartコントロールにデータソースを設定
            .DataSource = ds

            'Chartコントロールにタイトルを設定
            .Titles.Add("レーダーチャートのサンプル")

            '系列の設定
            .Series.Add("mySubject")

            'グラフの種類
            .Series("mySubject").ChartType = DataVisualization.Charting.SeriesChartType.Radar

            'X軸
            .Series("mySubject").XValueMember() = "Subject"

            'Y軸
            .Series("mySubject").YValueMembers = "Point"

            '凡例
            .Series("mySubject").LegendText = "得点"



            '系列の設定
            .Series.Add("ourSubject")

            'グラフの種類
            .Series("ourSubject").ChartType = DataVisualization.Charting.SeriesChartType.Radar

            'X軸
            .Series("ourSubject").XValueMember() = "Subject"

            'Y軸
            .Series("ourSubject").YValueMembers = "Standard"

            '凡例
            .Series("ourSubject").LegendText = "平均点"


            .Legends.Add("Legends")
            .Legends("Legends").Docking = DataVisualization.Charting.Docking.Bottom

            'この方法はグラフと凡例が重なってしまう
            'Chart1.Legends("Legends").DockedToChartArea = "ChartArea1"
            'Chart1.Legends("Legends").Alignment = Drawing.StringAlignment.Far

            .DataBind()

        End With

    End Sub

End Class

f:id:freefly3104:20170331084617j:plain