2016-04-28 6 views
0

私は各行にボタンを含むGridView(gvSummary)を持っています。このボタンをクリックすると、2番目のGridView(gvDetail)を表示するモーダルウィンドウが開きます。ソースコードから、この2番目のGridViewを参照できないようです。私はそれがエラーメッセージ"The name gvDetail does not exist in the current context."モーダルウィンドウ内にあるGridViewを参照する - (C#)

<asp:TemplateField ShowHeader="False"> 
    <ItemTemplate> 
     <div> 
      <asp:Button ID="btn_open" runat="server" OnClick="btn_open_Click" Text="Show Gridview" CssClass="openModal" CommandName="cmdDetail"/> 
       <div class="modal" id="idModal"> 
        <div class="container"> 
         <div class="modal-header"> 
          <h1>Transaction Details<a class="close-modal" href="#">&times;</a></h1> 
         </div> 
         <div class="modal-body"> 
          <asp:GridView ID="gvDetail" runat="server" DataSourceID="SqlgvDetail" AutoGenerateColumns="false" 
          OnRowDataBound="gvDetail_RowDataBound" CssClass="table table-hover table-bordered" EmptyDataText="No data to display." > 
           <Columns> 
            <asp:BoundField DataField="metalid" HeaderText="Metal ID"/> 
            <asp:BoundField DataField="enddate" HeaderText="End Date" DataFormatString="{0:dd-MM-yyyy}" /> 
            <asp:BoundField DataField="startdate" HeaderText="Start Date" DataFormatString="{0:dd-MM-yyyy}" /> 
            <asp:BoundField DataField="clientref" HeaderText="Client Ref" /> 
            <asp:BoundField DataField="quantity" HeaderText="Quantity" DataFormatString="{0:N2}" /> 
           </Columns> 
          </asp:GridView> 
         </div> 
         <div class="modal-footer"> 
          <asp:Button ID="btn_close" runat="server" Text="OK" CssClass="close-modal btn-sm btn-primary"/> 
         </div> 
        </div> 
       </div> 
      <div class="modal-backdrop"></div> 
     </div> 
    </ItemTemplate> 
</asp:TemplateField> 

は、上記のTemplateFieldを最初にGridViewの内に位置していますしようとしないとき。 このGridViewをソースコードから参照できる方法はありますか?

何か助けていただければ幸いです。

答えて

1

あなたが正しく理解している場合、子グリッドビューgvDetailの参照を取得しようとしていますか?もしそうなら、私はこれがあなたができることだと思います。親グリッドビューのOnROwDataBoundイベントを介してgvDetailを見つけることができるはずです。

protected void OnRowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     // get the reference of child gridview 
     GridView gvDetail = e.Row.FindControl("gvDetail") as GridView; 
    } 
} 
+0

乾杯@ウッディキディ – Johnathan

関連する問題