急求:怎么会有这种问题的?
为什么我的gridview排序时要点两下才开始排?
我定义一个 ViewState["SortOrder"] = "";
一个ViewState["OrderDire"] = "ASC";
当我判断if (ViewState["SortOrder"]== null || ViewState["SortOrder"].ToString() == "")
{
StringBuilder sort = new StringBuilder();
for (int i = 0; i < dataRows.Length; i++)
{
if (i + 1 != dataRows.Length)
{
sort.Append(" " + dataRows[i]["ZiDuanMingCheng"].ToString() + ",");
}
else
{
sort.Append(" " + dataRows[i]["ZiDuanMingCheng"].ToString() + " " + ViewState["OrderDire"].ToString());
}
}
view.Sort = sort.ToString();
}
else
{
string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];
view.Sort = sort;
}
点击时:
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
string vortExp = e.SortExpression;
if (ViewState["SortOrder"].ToString() == vortExp)
{
ViewState["SortOrder"] = vortExp;
}
else
{
ViewState["SortOrder"] = e.SortExpression;
}
if (ViewState["OrderDire"].ToString() == "Desc")
{
ViewState["OrderDire"] = "ASC";
}
else
{
ViewState["OrderDire"] = "Desc";
}
this.GV_user_DataSource();
}