如何在第二个GridView中显示数据依赖于第一个GridView时单击选择?

时间:2012-09-03 20:29:43

标签: asp.net gridview

我有GridView的两个实例和DataSources的两个实例。我有1 :(很多)的关系。当我点击“ SELECT ”时,我需要在第二个GridView中显示数据,具体取决于第一个GridView。我需要使用ASP.NET但直接在标记文档(即ASPX)上解决这个问题,而不是后面的代码(即CS)。

第一个GridView对象:

<asp:GridView 
     ID = "GridView1" 
     runat = "server" 
     DataKeyNames = "ID_Segment" 
     DataSourceID = "DSSegment">
     <Columns>
       ...
     </Columns>
</asp:GridView>

第一个DataSource对象:

<asp:SqlDataSource
     ID = "DSSegment"
     runat = "server" 
     ConnectionString = "<%$ ConnectionStrings:PraxeConnectionString %>"
     ... 
</asp:SqlDataSource>

第二个GridView对象:

<asp:GridView 
     ID = "GridView2" 
     runat = "server" 
     DataKeyNames = "ID_Podsit" 
     DataSourceID = "DSPodsit">
     <Columns>
       ...
     </Columns>
</asp:GridView>

第二个DataSource对象:

<asp:SqlDataSource
     ID = "DSPodsit"
     runat = "server" 
     ConnectionString = "<%$ ConnectionStrings:PraxeConnectionString %>" 
     ...
</asp:SqlDataSource>

1 个答案:

答案 0 :(得分:0)

试试这个

第一个GridView - 使用新的QueryString重定向回页面

<asp:GridView 
        ID="GridView1" 
        runat="server" 
        DataKeyNames="ID_Segment" 
        DataSourceID="DSSegment">
        <Columns>
           <asp:TemplateField>
               <a href='/?SegmentID=<%#Eval("ID_Segment")%>'>Select this</a>
           </asp:TemplateField>
        </Columns>

</asp:GridView>

2nd Datasource - 使用查询字符串

<asp:SqlDataSource ID="DSPodsit" runat="server" 

     ConnectionString="<%$ ConnectionStrings:PraxeConnectionString %>" 
        ... SelectCommand="SELECT * FROM tTable WHERE SegmentID=@SegmentID">

   <asp:QueryStringParameter name="SegmentID" QueryStringField="SegmentID" />

</asp:SqlDataSource> 

您还可以在Master GridView with a Details DetailView

找到更多线索