1

gvSummaryしたがって、( )内にボタンがあるテンプレート フィールドを含むGridView ( ) がありますbtnOpengvDetailこのボタンの目的は、からの行情報に基づいてモーダル ウィンドウで2 つ目の GridView () を開くことですgvSummary

私が抱えている問題はgvSummary_RowCommand、ボタンをクリックしてもコードを実行できないように見えることですbtnOpen。からコードを実行できます<asp:ButtonField>が、これは 2 番目の GridView を開きません。

これが私のコードです:

<asp:GridView ID="gvSummary" runat="server" DataSourceID="SqlgvSummary" AutoGenerateColumns="false"
OnRowDataBound="gvSummary_RowDataBound" OnRowCommand="gvSummary_RowCommand" CssClass="table table-hover table-bordered" EmptyDataText="No data to display." >
    <Columns>
        <asp:BoundField DataField="ClientRef" HeaderText="Reference No."/>
        <asp:BoundField DataField="InsertedWhen" HeaderText="Transaction Date" DataFormatString="{0:dd-MM-yyyy}" />
        <asp:BoundField DataField="Commodity" HeaderText="Commodity" />
        <asp:BoundField DataField="StartDate" HeaderText="Settlement Date" DataFormatString="{0:dd-MM-yyyy}" />
        <asp:BoundField DataField="EndDate" HeaderText="Delivery Date" DataFormatString="{0:dd-MM-yyyy}" />
        <asp:BoundField DataField="Value" HeaderText="Transaction Value" DataFormatString="{0:N2}" />
        <asp:BoundField DataField="Fee" HeaderText="Fee" DataFormatString="{0:N2}" />
        <asp:BoundField DataField="InsertedBy" HeaderText="Purchased By" />
        <asp:ButtonField ButtonType="Button" CommandName="cmdDetail1" HeaderText="View Details" Text="View" ControlStyle-CssClass="openModal"/>
        <asp:TemplateField ShowHeader="False">
            <ItemTemplate>
                <div>
                    <asp:Button ID="btnOpen" runat="server" Text="Show Gridview" CssClass="openModal" CommandName="cmdDetail2"/>
                        <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>
    </Columns>
</asp:GridView>

コードビハインド:

protected void gvSummary_RowCommand(object sender, GridViewCommandEventArgs e)
{
    int index = Convert.ToInt32(e.CommandArgument);
    string name = e.CommandName.ToString();
    string clientRef = gvSummary.Rows[index].Cells[0].Text;
    Response.Write("<br> index = " + index);
    Response.Write("<br> name = " + name);
    Response.Write("<br> clientRef = " + clientRef);

    SqlgvDetail.SelectCommand = " SELECT td.metalid , td.enddate , td.startdate , td.clientref , td.quantity " +
                                " FROM trxdetail td " +
                                " WHERE td.clientref = " + "'" + clientRef + "'";
}

をクリックする<asp:ButtonField>と、SQL は正しく、Response.Write() は正しい変数を に設定しますgvSummary_RowCommand。ただし、モーダル ウィンドウは開きません。

をクリックするbtnOpenと、モーダル ウィンドウが開きますが、変数が に設定されませんgvSummary_RowCommand

これを機能させることができないようですので、助けていただければ幸いです。ありがとう。

4

0 に答える 0