Вызванное GridView событие PageIndexChanging, которое не было обработано - PullRequest
11 голосов
/ 16 марта 2012

Я разрешил пейджинг и добавил приведенные ниже коды, но получил ошибку.Кто-нибудь знает в чем может быть проблема?

Код:

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

    }

Дизайн:

<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>

Ответы [ 6 ]

10 голосов
/ 16 марта 2012

Если вы установили для атрибута AllowPaging gridviews значение «true» и не обрабатывает событие PageIndexChanging, то эта ошибка возникает.

Чтобы работать с подкачкой, добавьте обработчик событий 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.
}

Это событие не возникает, когда вы программно устанавливаете свойство PageIndex . Проверьте документацию MSDN Событие GridView.PageIndexChanging

Для справки: Событие PageIndexChanging, вызванное GridView, которое не было обработано

7 голосов
/ 25 июня 2014

Поместите свой код внутрь Событие PageIndexChanging

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

Дизайн:

<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>
2 голосов
/ 16 марта 2012

попробуйте

OnPageIndexChanging="SubmitAppraisalGrid_PageIndexChanging"

вместо

onselectedindexchanging="SubmitAppraisalGrid_SelectedIndexChanging"


protected void SubmitAppraisalGrid_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    SubmitAppraisalGrid.PageIndex = e.NewPageIndex;
    BindGrid();
}
0 голосов
/ 26 декабря 2014

Вам необходимо вызвать событие изменения индекса страницы из выбранного события изменения индекса выпадающего списка.

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);
}
0 голосов
/ 09 ноября 2012

Шаг за шагом:

  1. Выберите вид сетки из дизайна и перейдите к свойству и запустите событие (PageIndexChanging)
  2. Код: gridviewname.pageindex=e.NewPageIndex;
0 голосов
/ 16 марта 2012

вместо использования

SubmitAppraisalGrid.PageIndex = e.NewSelectedIndex;

вы должны использовать

SubmitAppraisalGrid.PageIndex = e.NewPageIndex;

, и если вы снова получили ошибку, пожалуйста, напишите об ошибке тоже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...