2012-03-16 20 views
10

Pozwoliłem na stronicowanie i dodałem kody poniżej, ale otrzymałem błąd. Czy ktoś wie, co może być problemem?Zdarzenie wywołane GridView PageIndexChanging, które nie było obsługiwane

Kod:

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

    } 

Projekt:

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

Odpowiedz

2

spróbować

OnPageIndexChanging="SubmitAppraisalGrid_PageIndexChanging" 

zamiast

onselectedindexchanging="SubmitAppraisalGrid_SelectedIndexChanging" 


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

Insted korzystania

SubmitAppraisalGrid.PageIndex = e.NewSelectedIndex; 

należy użyć

SubmitAppraisalGrid.PageIndex = e.NewPageIndex; 

a jeśli masz błąd ponownie Plese słupek błędu zbyt ..

10

Jeśli ustawiono gridviews AllowPaging atrybutu "Prawda" i nie obsługuj zdarzenia PageIndexChanging, a następnie ten błąd zostanie zgłoszony.

Aby pracować z stronicowania dodanie obsługi PageIndexChanging zdarzeń do siatki i znaczników i zmienić swój kod jako:

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

To zdarzenie nie jest wywoływane kiedy programowo ustawić właściwość PageIndex. Sprawdź dokumentacji MSDN GridView.PageIndexChanging Event

Dla porównania: The GridView fired event PageIndexChanging which wasn't handled

0

Krok po kroku:

  1. Wybierz GridView z projektowania i przejdź do właściwości i ogień zdarzenie (PageIndexChanging)
  2. Kod: gridviewname.pageindex=e.NewPageIndex;
+0

Proszę przeczytać inne odpowiedzi. Twój wydaje się nie dodawać do nich czegoś nowego. –

6

Wpisz swój kod na stronie PageIndexChanging Event

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

Projekt:

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

Trzeba wezwać PageIndex zmieniających zdarzenia z wybranego indeksu zmieniającym wydarzenie rozwijanej.

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); 
}