GridViewを使用してページングと並べ替えを実装する場合
1.次のページのラベルをクリックすると、「未処理のPageIndexChangingイベント」が表示されます。現時点では、OnPageIndexChangingイベントをGridViewラベルに追加するだけで済みます。
そして、OnPageIndexChanging = "GridView2_PageIndexChanging"を作成します
次に、バックグラウンドコードに次の関数を追加します。
protected void GridView2_PageIndexChanging(object sender、GridViewPageEventArgs e)
{ GridView2.PageIndex = e.NewPageIndex; DataBind(); }
2.タイトルバーをクリックして並べ替えを行うと、「未処理の並べ替えイベントがトリガーされました」と表示されます。このとき、OnSortingイベントをGridViewタグに追加して使用します。
OnSorting = "GridView2_Sorting"
この問題の解決策は次のとおりです。
私の開発環境:GetHouseInfo関数とフロントページHaveShiSearchResultを含むHouseDB.csファイルがあります。
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();
}