简体   繁体   English

GridView 触发了未处理的事件 PageIndexChanging

[英]The GridView fired event PageIndexChanging which wasn't handled

i have allowed paging and added the below codes but got the error.我已经允许分页并添加了以下代码,但出现错误。 Does anyone know what could be the problem?有谁知道可能是什么问题?

Code:代码:

  protected void SubmitAppraisalGrid_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
    {
        SubmitAppraisalGrid.PageIndex = e.NewSelectedIndex;
        SubmitAppraisalGrid.DataBind();

    }

Design:设计:

<asp:GridView ID="SubmitAppraisalGrid" runat="server" 
                AutoGenerateColumns="False" BorderWidth="0px" 
                onrowcreated="SubmitAppraisalGrid_RowCreated" ShowHeader="False" 
                style="margin-right: 0px" AllowPaging="True" PageSize="1" 
                onselectedindexchanging="SubmitAppraisalGrid_SelectedIndexChanging">
               </asp:GridView>

If you have set a gridviews AllowPaging attribute to “true” and do not handle the PageIndexChanging event then this error raise.如果您已将 gridviews AllowPaging 属性设置为“true”并且不处理PageIndexChanging事件,则会引发此错误。

To work with paging add the PageIndexChanging event handler to grid and change your markup and code as:要使用分页,请将PageIndexChanging事件处理程序添加到网格并将标记和代码更改为:

<asp:GridView ID="SubmitAppraisalGrid" runat="server" 
                AutoGenerateColumns="False" BorderWidth="0px" 
                onrowcreated="SubmitAppraisalGrid_RowCreated" ShowHeader="False" 
                style="margin-right: 0px" AllowPaging="True" PageSize="1" 
                onselectedindexchanging="SubmitAppraisalGrid_SelectedIndexChanging"
                OnPageIndexChanging="SubmitAppraisalGrid_PageIndexChanging">
               </asp:GridView>

/// ///

protected void gvList_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    SubmitAppraisalGrid.PageIndex = e.NewPageIndex;
    SubmitAppraisalGrid.DataBind();

    //bindGrid(); 
    //SubmitAppraisalGrid.PageIndex = e.NewPageIndex;
    //SubmitAppraisalGrid.DataBind();
}

protected void SubmitAppraisalGrid_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
   /// you selected index related logic here.
}

This event is not raised when you programmatically set the PageIndex property.以编程方式设置PageIndex属性时不会引发此事件。 Check MSDN documentation of GridView.PageIndexChanging Event检查GridView.PageIndexChanging 事件的MSDN 文档

For reference: The GridView fired event PageIndexChanging which wasn't handled供参考:未处理的 GridView 触发事件 PageIndexChanging

Your code should be inside On PageIndexChanging Event您的代码应该在 On PageIndexChanging 事件中

  protected void SubmitAppraisalGrid_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        SubmitAppraisalGrid.PageIndex = e.NewPageIndex;
        SubmitAppraisalGrid.DataBind();
    }

Design:设计:

<asp:GridView ID="SubmitAppraisalGrid" runat="server" 
            AutoGenerateColumns="False" BorderWidth="0px" 
            onrowcreated="SubmitAppraisalGrid_RowCreated" ShowHeader="False" 
            style="margin-right: 0px" AllowPaging="True" PageSize="1" 
            OnPageIndexChanging="SubmitAppraisalGrid_PageIndexChanging">
           </asp:GridView>

try尝试

OnPageIndexChanging="SubmitAppraisalGrid_PageIndexChanging"

instead of代替

onselectedindexchanging="SubmitAppraisalGrid_SelectedIndexChanging"


protected void SubmitAppraisalGrid_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    SubmitAppraisalGrid.PageIndex = e.NewPageIndex;
    BindGrid();
}

Step by Step:一步步:

  1. Select gridview from design and go to property and fire the event (PageIndexChanging)从设计中选择 gridview 并转到属性并触发事件(PageIndexChanging)
  2. Code : gridviewname.pageindex=e.NewPageIndex;代码: gridviewname.pageindex=e.NewPageIndex;

You need to call the Pageindex changing event from selected index changing event of dropdown.您需要从下拉列表的选定索引更改事件中调用 Pageindex 更改事件。

protected void PageDropDownList_SelectedIndexChanged(Object sender, EventArgs e)
{
     // Retrieve the pager row.
    GridViewRow pagerRow = SubmitAppraisalGrid.BottomPagerRow;

    // Retrieve the PageDropDownList DropDownList from the bottom pager row.
    DropDownList pageList = (DropDownList)pagerRow.Cells[0].FindControl("PageDropDownList");

    // Set the PageIndex property to display that page selected by the user.
    GridViewPageEventArgs evt = new GridViewPageEventArgs(pageList.SelectedIndex);
    SubmitAppraisalGrid_PageIndexChanging(sender, evt);
}

insted of using开始使用

SubmitAppraisalGrid.PageIndex = e.NewSelectedIndex;

you must use你必须使用

SubmitAppraisalGrid.PageIndex = e.NewPageIndex;

and if you got error again plese post the error too..如果您再次出现错误,请也发布错误..

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM