0

我创建了一个网格视图,当将鼠标悬停在行中的图像上时会出现一个弹出图表。

它工作得非常好,我已经在stackoverflow中发布了解决方案(鼠标悬停在vb.net中的弹出图表

我现在的问题是我希望图表被“组”列过滤,但我不知道如何将“名称”值传输到 SqlDataSource1 查询。

这是 Gridview 示例代码:

    <asp:BoundField DataField="name" HeaderText="Group" SortExpression="name" />
    <asp:BoundField DataField="ASL" HeaderText="SL" ReadOnly="True" />
    <asp:TemplateField>
        <ItemTemplate>
            <div class="HoverDesc">
                <asp:Image ID="Image5" runat="server" Height="20px" src="Images/Icons/iGreen.png" />
                <p>
                    <asp:Chart ID="Chart2" runat="server" DataSourceID="SqlDataSource1" Height="141px">
                        <Series>
                            <asp:Series ChartType="Line" Name="Series1" XValueMember="date" YValueMembers="Value">
                            </asp:Series>
                        </Series>
                        <ChartAreas>
                            <asp:ChartArea Name="ChartArea1"></asp:ChartArea>
                        </ChartAreas>
                    </asp:Chart>
                </p>
            </div>
        </ItemTemplate>
    </asp:TemplateField>

任何想法将不胜感激。

谢谢

4

1 回答 1

0

我设法解决了它。我从以下网站获得了灵感:http ://social.msdn.microsoft.com/Forums/vstudio/en-US/bb0548cc-90f7-4622-8ced-61ded9a63b3d/chart-in-gridview?forum=MSWinWebChart

如果它对某人有帮助,这就是我所做的:

在 ASP 中,我在 DataGrid 中添加了一个 OnRowDataBound,在 ItemTemplate 中添加了一个 SqlDataSource

OnRowDataBound="GridViewChart_RowDataBound"

在 vb(如果你需要 C,你会在上面的链接中找到它)代码中,我添加了以下内容

Protected Sub GridViewChart_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
    If e.Row.RowType = DataControlRowType.DataRow Then

        Dim RG_name As String = Replace(e.Row.Cells(0).Text, "amp;", "")
        Dim SQL As SqlDataSource = DirectCast(e.Row.FindControl("SqlDataSource10"), SqlDataSource)
        SQL.SelectParameters("name").DefaultValue = RG_name

    End If
End Sub
于 2013-10-10T14:32:53.497 回答