Gridview分页中的手动数据绑定

时间:2009-08-10 03:52:21

标签: asp.net gridview page-index-changed

Server Error in '/' Application.
--------------------------------------------------------------------------------

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.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  

Stack Trace: 


[HttpException (0x80004005): The GridView 'GridView1' fired event PageIndexChanging which wasn't handled.]
   System.Web.UI.WebControls.GridView.OnPageIndexChanging(GridViewPageEventArgs e) +1325594
   System.Web.UI.WebControls.GridView.HandlePage(Int32 newPage) +86
   System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +464
   System.Web.UI.WebControls.GridView.RaisePostBackEvent(String eventArgument) +207
   System.Web.UI.WebControls.GridView.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565




--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.3082; ASP.NET Version:2.0.50727.3082 

使用此功能并启用paging = true

private void BindGrid(string sqlQuery, ref GridView gv)
{
    SqlConnection sqlConnection = null;
    try
    {
        sqlConnection = new SqlConnection(strConnect);
        SqlCommand scom = new SqlCommand(sqlQuery, sqlConnection);
        scom.CommandTimeout = 100;
        sqlConnection.Open();
        SqlDataAdapter adapter = new SqlDataAdapter(scom);
        DataTable dt = new DataTable();
        adapter.Fill(dt);
        gv.DataSource = dt;
        gv.DataBind();
    }
    catch (Exception e)
    {
        Response.Write(e.Message);
    }
    finally
    {
        if (sqlConnection != null) sqlConnection.Close();
    }
}

2 个答案:

答案 0 :(得分:1)

为PageIndexChanging事件添加处理程序。

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 
 { 
  GridView1.PageIndex = e.NewPageIndex; 
  .....
  .....
  GridView1.DataSource=dt;
  GridView1.DataBind(); 
  }

答案 1 :(得分:0)

试试,这段代码:

   int newPagenumber = e.NewPageIndex;
   GridView1.PageIndex = newPagenumber;

   GridView1.DataSource = call the method that will fill ur dataset.
   GridView1.DataBind();