0

検索ボタンがクリックされた後、グリッドビューにバインドしています。しばらくは機能していましたが、その後停止し、何をして壊したのかわかりません。私は最初にグリッドビューをAjaxしようとしていたページロードに何もバインドしていません。

protected void gvParticipantResults_RowCommand(object sender, GridViewCommandEventArgs e)
{
    string strCommand = e.CommandName.ToString();
    if (strCommand == "Select")
    {
        int row = Convert.ToInt32(e.CommandArgument);
        // setting the selected row to yellow to show whome they are working with
        gvParticipantResults.Rows[row].BackColor = Color.Yellow;
        // getting the participant ID
        ParticipantID = Convert.ToInt32(gvParticipantResults.DataKeys[row].Value);
    }
    else if (strCommand == "XXXX")
    {
        strCommand = "SELECT";
    }
}

protected void gvParticipantResults_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    // Set the index of the new display page.  
    gvParticipantResults.PageIndex = e.NewPageIndex;
    // Rebind the GridView control to  
    // show data in the new page. 
    // BindGridView();
}

<asp:GridView ID="gvParticipantResults" runat="server" Height="125px" 
              BorderColor="Black" DataKeyNames="ParticipantID" 
              Width="200px" CellPadding="4" GridLines="Both"
              onrowcommand="gvParticipantResults_RowCommand" 
              onselectedindexchanged="btnSearchParticipant_Click" 
              ForeColor="#333333" AutoGenerateColumns="False" 
              AllowPaging="True" PageSize = "10"
              onpageindexchanging="gvParticipantResults_PageIndexChanging">
    <PagerSettings NextPageText="Next &amp;gt;" />
    <RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
    <Columns>
        <asp:ButtonField Text="Select" CommandName="Select" ButtonType="Button" CausesValidation = "false" />
        <asp:BoundField DataField="ParticipantID" HeaderText="ParticipantID" SortExpression="ParticipantID"  Visible = "false" />
        <asp:BoundField DataField="IsActive" HeaderText="IsActive" SortExpression="IsActive" />
        <asp:BoundField DataField="FirstName" HeaderText="FirstName" SortExpression="FirstName" />
        <asp:BoundField DataField="MiddleName" HeaderText="MiddleName" SortExpression="MiddleName" />
        <asp:BoundField DataField="LastName" HeaderText="LastName" SortExpression="LastName" />
        <asp:BoundField DataField="Gender" HeaderText="Gender" SortExpression="Gender" />
        <asp:BoundField DataField="DateOfBirth" HeaderText="DateOfBirth" SortExpression="DateOfBirth" />
        <asp:BoundField DataField="Email" HeaderText="Email" SortExpression="Email" />                            
    </Columns>
    <FooterStyle BackColor="#990000" ForeColor="White" Font-Bold="True" />
    <PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
    <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
    <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
    <AlternatingRowStyle BackColor="White" /> 
</asp:GridView>
4

1 に答える 1

0

あなたのコードは機能しています。しかし、ここに私が見つけたものがあります。

GridView のonselectedindexchangedは、btnSearchParticipant_Click に添付されます。その背後にある理由はわかりません。

onselectedindexchanged="btnSearchParticipant_Click"

その結果、gvParticipantResults_RowCommandが起動されるたびに、btnSearchParticipant_Clickも起動されます。

于 2013-09-12T18:47:59.770 に答える