Hi,
I'm trying to present results on an aspx web page where a store procedure parameter is defined by a dropdown list control on the page.
To help accomplish this, I have followed this guide from Microsoft and have my resultset presented in a DataGrid view. But I cannot seem to adapt it to present the resultset in a chart.

As you can see from my VB code below, I thought it would simply be a case of adapting the GridView databind to a Chart. I have tried various other options, and have successfully generated my data in a chart using a hard-coded parameter in an SQL statement on the ASP page. But when it comes to using the control, I get an empty chart.

Below is what I have so far. Any help greatly appreciated.

Imports System.Data.SqlClient

Public Class Report
    Inherits System.Web.UI.Page

    Protected MIUDropDownList As System.Web.UI.WebControls.DropDownList
    Protected ResultChart As DataVisualization.Charting.Chart
    Dim objConn As SqlConnection
    Dim objCmd As SqlCommand
    Dim dataReader As SqlDataReader
    Dim strSql As String

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

        If Not IsPostBack Then
            Dim objConn As SqlConnection
            Dim dataReader As SqlDataReader

            objConn = New SqlConnection("ConnectionString")
            strSql = "EXEC usp_GetRadioUnitSerialNumber"
            objCmd = New SqlCommand(strSql, objConn)
            Try
                objConn.Open()
                dataReader = objCmd.ExecuteReader
                With MIUDropDownList
                    .DataSource = dataReader
                    .DataTextField = "RadioUnitSerialNumber"
                    .DataValueField = "RadioUnitSerialNumber"
                    .DataBind()
                End With
            Catch ex As Exception

            Finally
                objConn.Close()
                objConn.Dispose()
            End Try

        End If

    End Sub

    Protected Sub ButtonGetRadioUnit_Click(ByVal sender As Object, ByVal e As EventArgs) Handles ButtonGetRadioUnit.Click

        objConn = New SqlConnection("ConnectionString")

        strSql = "usp_RadioUnitReadingHistory '" & MIUDropDownList.SelectedItem.Value & "'"

        objCmd = New SqlCommand(strSql, objConn)

        Try
            objConn.Open()
            dataReader = objCmd.ExecuteReader()
            'Bind to Grid
            GridView1.DataSource = dataReader
            GridView1.DataBind()
            ''Bind to Chart
            'ResultChart.DataSource = dataReader
            'ResultChart.DataBind()

        Catch ex As Exception
        Finally
            objConn.Close()
            objConn.Dispose()
        End Try

    End Sub
End Class

ASPX page

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    
    <asp:DropDownList ID="MIUDropDownList" runat="server" DataTextField="RadioUnitSerialNumber">
    </asp:DropDownList>
    
 <asp:Button ID="ButtonGetRadioUnit" runat="server" Font-Size="8pt" Height="20px" Text="Select MIU" Width="60px" OnClick="ButtonGetRadioUnit_Click" />
  
    <br />
     
     <asp:Chart ID="ResultChart" runat="server" Height="500px" Width="800px" >
        <Series>
            <asp:Series ChartType="Line" Name="Series1" XValueMember="DateTimeStamp" YValueMembers="Value">
            </asp:Series>
        </Series>
        <ChartAreas>
            <asp:ChartArea Name="ChartArea1">
            </asp:ChartArea>
        </ChartAreas>
    </asp:Chart>   

     <asp:GridView ID="GridView1" runat="server">
    </asp:GridView>

 
</asp:Content>

Yes. The GridView is altered as per the DropDown selection. That's working OK

This article has been dead for over six months. Start a new discussion instead.