2012-03-16 4 views
10

ページングを許可し、以下のコードを追加しましたが、エラーが発生しました。誰が問題になるかも知っていますか?処理されなかったGridViewイベントのPageIndexChanging

コード:

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> 

答えて

2

の代わりに

OnPageIndexChanging="SubmitAppraisalGrid_PageIndexChanging" 

を試してみてください

onselectedindexchanging="SubmitAppraisalGrid_SelectedIndexChanging" 


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

を使用してのinstedあなたは

SubmitAppraisalGrid.PageIndex = e.NewPageIndex; 

を使用する必要がありますが、あまりにもエラー..あなたがに属性をのAllowPaging gridviewsを設定している場合

10

再びpleseはポストをエラーを得た場合"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プロパティを設定します。ステップバイ The GridView fired event PageIndexChanging which wasn't handled

0

ステップ: は、参考のためGridView.PageIndexChanging Event

のMSDNのドキュメントをチェックし、設計から

  1. 選択するGridViewをし、プロパティに移動し、イベントを発生(PageIndexChanging)
  2. コード:gridviewname.pageindex=e.NewPageIndex;
+0

他の回答をお読みください。あなたのものは新しいものを追加していないようです。 –

6

オンにコードを入れてください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> 
0

は、ドロップダウンのイベントを変更する選択したインデックスから、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); 
} 
関連する問題