0

asp.netWebフォームにgridviewがあります。

私は次のようにデータベースをgridviewにバインドします:

SQL = "SELECT id,Fname,Lname FROM MEN";
dsView = new DataSet();
adp = new SqlDataAdapter(SQL, Conn);
adp.Fill(dsView, "MEN");
adp.Dispose();
GridView1.DataSource = dsView.Tables[0].DefaultView;
GridView1.DataBind();

そしてこれをグリッドビューに入れました:allowPaging = true

グリッドにデータが表示されますが、2..3ページを押すと。

そして私はこのエラーを受け取りました:

The GridView 'GridView1' fired event PageIndexChanging which wasn't handled. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Web.HttpException: The GridView 'GridView1' fired event PageIndexChanging which wasn't handled.

前もって感謝します

4

4 に答える 4

4

PageIndexChangingイベントを処理する必要があります。デザイナーのグリッドをクリックしてイベントを確認する場合は、PageIndexChangingイベントをダブルクリックします。キャンセルしたり特別なことをしたりする必要がない場合は、ハンドラーでデータを再バインドするだけです。

于 2011-01-19T18:19:31.903 に答える
3

名前空間を追加するだけです

System.Collections.Genericを使用します。

このコードのみを書く

public void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    BindGridview();
}

100%動作します試してみてください......

于 2012-10-24T08:47:03.137 に答える
1

ページングロジックを提供するPageIndexChangingのイベントハンドラーを提供する必要があります。

于 2011-01-19T18:18:34.940 に答える
0

GridView1_PageIndexChangingイベントでこのように書いてください:

GridView1.PageIndex = e.NewPageIndex;

次に、グリッドを再度バインドします。あなたの問題は解決します。

于 2012-01-19T09:24:27.157 に答える