2012-06-19 7 views
0

У меня есть два вида сетки на странице Первый datagrid (requestgrid) заполняется с помощью хранимой процедуры, которая имеет параметр, и этот параметр подается с помощью строки запроса.как передать выбор в datagrid, чтобы показать еще один datagrid

Другая сетка на странице нужно только отображаться, когда я выбрать строку в первом 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

Большое спасибо. Я пытаюсь сделать то же самое, что и у вас в вашем примере. Какой код мне писать? в обработчике события onselectedindexchanged = "GridView1_SelectedIndexChanged –

+0

Я не могу передать выбранное значение в gridview1 в gridview2 и иметь код, аналогичный вашему примеру –

Смежные вопросы