2012-06-19 14 views
0

我在頁面上有兩個網格瀏覽器 第一個數據網格(requestgrid)使用存儲過程填充,該存儲過程具有參數,該參數由查詢字符串提供。如何傳遞數據網格中的選擇以顯示另一個數據網格

頁面中的其它網格只需要顯示時,我選擇在第一datagrid.Iam能夠使用下面的代碼,以獲得從選擇的RequestID行

void Requesttbl_RowCommand(object sender, GridViewCommandEventArgs e) 
     { 
      if (e.CommandName.Equals("clickrequestid")) 
      { 

       Requesttbl.Visible = false; 
       int requestid = (int)e.CommandArgument; 
       } 
     } 

我的問題是我如何使用此的requestId把它作爲參數傳遞給第二gridview的

下面的代碼是在標記頁面我的第二個網格視圖代碼在

<asp:GridView ID="SelectedReports" runat="server" AutoGenerateColumns="False" 
      DataSourceID="showselectedreports" EnableModelValidation="True"> 
      <Columns> 
       <asp:BoundField DataField="Requestid" HeaderText="Requestid" 
        SortExpression="Requestid" /> 
       <asp:BoundField DataField="rptdesctext" HeaderText="rptdesctext" 
        SortExpression="rptdesctext" /> 
       <asp:BoundField DataField="Completeddt" HeaderText="Completeddt" 
        SortExpression="Completeddt" /> 
       <asp:BoundField DataField="Analyst" HeaderText="Analyst" ReadOnly="True" 
        SortExpression="Analyst" /> 
      </Columns> 
     </asp:GridView> 
     <asp:SqlDataSource ID="showselectedreports" runat="server" 
      ConnectionString="<%$ ConnectionStrings:UnderWritingConnectionString %>" 
      SelectCommand="ShowCustomerSelectedRequests" 
      SelectCommandType="StoredProcedure"> 
      <SelectParameters> 
how do i use the requestid as a parameter here**strong text** 
          </SelectParameters> 
     </asp:SqlDataSource> 

謝謝dvance

+0

綁定'SelectParameters'中的變量類類背後的代碼,當你在第一格選擇的東西,更新變量,並調用另一個'DataBind'? – MilkyWayJoe

+0

您能否詳細地幫助我,因爲我很新,只是不知道如何處理您的建議 –

回答

0

ScreenShot

這個例子可以幫助你,因爲我從一個網格教職員獲得價值CountryID和填充在選定的國家ID等,根據你的質量要求而改變。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
      DataKeyNames="CountryID" DataSourceID="SqlDataSource1" 
       onselectedindexchanged="GridView1_SelectedIndexChanged"> 
       <Columns> 
        <asp:CommandField ShowSelectButton="True" /> 
        <asp:BoundField DataField="CountryID" HeaderText="CountryID" ReadOnly="True" 
         SortExpression="CountryID" /> 
       </Columns> 
      </asp:GridView> 
      <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
      ConnectionString="<%$ ConnectionStrings:testConnectionString %>" 
      SelectCommand="SELECT [CountryID], [Country] FROM [Tbl_Country]"> 
     </asp:SqlDataSource> 
      <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" 
       DataKeyNames="CountryID" DataSourceID="SqlDataSource2"> 
       <Columns> 
        <asp:BoundField DataField="CountryID" HeaderText="CountryID" ReadOnly="True" 
         SortExpression="CountryID" /> 
        <asp:BoundField DataField="Country" HeaderText="Country" 
         SortExpression="Country" /> 
       </Columns> 
      </asp:GridView> 
      <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
       ConnectionString="<%$ ConnectionStrings:testConnectionString %>" 
       SelectCommand="SELECT * FROM [Tbl_Country] WHERE ([CountryID] = @CountryID)"> 
       <SelectParameters> 
        <asp:ControlParameter ControlID="GridView1" Name="CountryID" 
         PropertyName="SelectedValue" Type="Int32" /> 
       </SelectParameters> 
      </asp:SqlDataSource> 
+0

謝謝much.I試圖做你的例子中的相同。我應該寫什麼代碼在事件處理程序onselectedindexchanged =「GridView1_SelectedIndexChanged –

+0

我無法將gridview1中的選定值傳遞給gridview2並且代碼類似於您的示例 –

相關問題