触发了未处理的PageIndexChanging事件

当在使用GridView来实现分页和排序的时候

1.当点击下一页的标签时会出现"未处理的PageIndexChanging事件"这时只需要在GridView标签中添加OnPageIndexChanging事件,

并使OnPageIndexChanging=“GridView2_PageIndexChanging”

再在后台代码中添加以下函数:

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

2.当点击标题栏来实现排序时出现"触发了未处理的Sorting事件",这时要在GridView标签中添加OnSorting事件,并使

OnSorting=" GridView2_Sorting"

这个问题的解决方法如下:

我的开发环境:有一个HouseDB.cs文件里面有一个GetHouseInfo函数,一个前台页面HaveShiSearchResult.

HouseDB.cs文件中创建了一个函数,代码函数如下:

   public DataSet GetHouseInfo(string Province, int Houseprice1, int Houseprice2)
    {

        SqlConnection myConnection = new SqlConnection(sqlString.Connection());
        SqlCommand myCommand = new SqlCommand("SearchHouse", myConnection);

      
        myCommand.CommandType = CommandType.StoredProcedure;

       

        SqlParameter parameterProvince = new SqlParameter("@Province", SqlDbType.NChar, 10);
        parameterProvince.Value = Province;
        myCommand.Parameters.Add(parameterProvince);
       
        SqlParameter parameterHouseprice1 = new SqlParameter("@Houseprice1", SqlDbType.Int);
        parameterHouseprice1.Value = Houseprice1;
        myCommand.Parameters.Add(parameterHouseprice1);

        SqlParameter parameterHouseprice2 = new SqlParameter("@Houseprice2", SqlDbType.Int);
        parameterHouseprice2.Value = Houseprice2;
        myCommand.Parameters.Add(parameterHouseprice2);
       
        myConnection.Open();

         DataSet dtr = new DataSet();

        SqlDataAdapter result = new SqlDataAdapter(myCommand);

         result.Fill(dtr);

         return dtr; 

  }

HaveShiSearchResult.aspx.cs代码如下:

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{

            BindGrid();

        }    

   }

protected void GridView2_Sorting(object sender, GridViewSortEventArgs e)
{
ViewState[“sortexpression”] = e.SortExpression;
if (ViewState[“sortdirection”] == null)
{
ViewState[“sortdirection”] = “asc”;
}
else
{
if (ViewState[“sortdirection”].ToString() == “asc”)
{
ViewState[“sortdirection”] = “desc”;
}
else
{
ViewState[“sortdirection”] = “asc”;
}
}
BindGrid();
}

protected void BindGrid()

    {
        HouseManger.GetParmar showparam = new GetParmar();

        HouseManger.HouseDB SearchHouseInfo = new HouseManger.HouseDB();

        DataSet ds = new DataSet();

         ds= SearchHouseInfo.GetHouseInfo(showparam.getProvince(),showparam.getHouseprice1(), showparam.getHouseprice2());    

        DataView dv = ds.Tables[0].DefaultView;

        if (ViewState["sortexpression"] != null)
        {
            dv.Sort = ViewState["sortexpression"].ToString() + " " + ViewState["sortdirection"].ToString();
        }

        GridView2.DataSource = dv;

        GridView2.DataBind();         

    }    

猜你喜欢

转载自blog.csdn.net/qq_41661800/article/details/105714499
今日推荐