2013-10-09 19 views
0

我创建了一个gridview,当将鼠标悬停在行中的图像上方时出现弹出图表。从GridView弹出图表以显示基于行参考的数据

它的工作原理amaisingly很好,我曾经参与过的计算器解决方案已经(Popup chart in vb.net on mouse over

我现在的问题是,我想通过“组”列进行过滤的图表,但我想不出如何将'name'值传递给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> 

任何想法将不胜感激。

谢谢

回答

0

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

如果可以帮助别人,这里是我做过什么:

在ASP我加在DataGrid中OnRowDataBound和ItemTemplate中

OnRowDataBound="GridViewChart_RowDataBound" 
内一个SqlDataSource

在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 
相关问题