2

我正在显示一个包含适当数据的图表。如果用户单击图表,我希望能够显示详细数据。但是,我似乎无法弄清楚如何让按钮单击事件回火到代码隐藏。我正在使用 vb.net。

有人可以指出我正确的方向吗?

ASP代码:

<asp:Chart ID="ChartSalesA" runat="server" Width="350px" Height="250px" 
        OnClick="Chart_Click"
        ToolTip="Previous 5 Weeks" BorderlineColor="Transparent"> 
    <Titles>
        <asp:Title Font="Calibri, 11pt, style=Bold" Name="Title1" Text="Previous 5 Weeks">
        </asp:Title>
    </Titles>
    <Legends>
        <asp:Legend Name="Default" Alignment="Center" BackColor="Lavender" BorderColor="Black" Docking="Bottom" LegendStyle="Row"> 
        </asp:Legend> 
    </Legends>
    <Series> 
        <asp:Series ChartType="Column" ChartArea="MainChartArea" Name="Series1" Color="#9955ff" Legend="Default" LegendText="Sales" XAxisType="Primary"></asp:Series>
        <asp:Series ChartType="Line" ChartArea="MainChartArea" Name="Series2" YAxisType="Secondary" Legend="Default" Color="#99ccff" Enabled="True" LegendText="Customers" LabelBorderWidth="1" BorderWidth="3"></asp:Series>  
    </Series> 
    <ChartAreas> 
        <asp:ChartArea Name="MainChartArea" Area3DStyle-Enable3D="false">
            <AxisY Title="Weekly Sales"><LabelStyle Font="Calibri, 8pt" /></AxisY>
            <AxisY2 Title="Weekly Customers" ><LabelStyle Font="Calibri, 8pt" /></AxisY2>
            <AxisX Interval="1" IntervalType ="Weeks" IntervalAutoMode = "FixedCount"  ><LabelStyle Font="Calibri, 8pt" /></AxisX>
        </asp:ChartArea>
    </ChartAreas> 
</asp:Chart> 

代码隐藏:

Protected Sub Chart_Click() Handles ChartSalesA.Click
    'do something here when user clicks chart

    Dim x As Int16 = 0

End Sub
4

1 回答 1

4

将您的 aspx 部分添加XValueMember="yourValueORID" PostBackValue="#VALX"到您想要回发到代码后面并执行任何操作的系列中。yourValueORID将是您绑定到图表的数据源中的任何列。

然后修改您的点击事件签名,如下所示。

Protected Sub Chart_Click(object sender, ImageMapEventArgs e) Handles ChartSalesA.Click

    'You will get your value from the XValueMember as below.
    Dim x As String = Convert.ToString(e.PostBackValue)        

End Sub

YValueMember="yourValueORID" PostBackValue="#VALY"如果您想将您的 YValueMember 传递给后面的代码,您也可以这样做。

于 2013-08-27T07:22:52.380 回答