为什么会把 Asc 当列处理啊 这不是升序吗 真的不会啊 刚刚接触 .net用gridview排序就出现这种状况了
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["OrderDire"] = "ASC";
ViewState["sortOrder"] = "Grade";
GridViewBind();
}
}
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
ViewState["OrderDire"] = "ASC";
ViewState["sortOrder"] = "Grade";
string sPage = e.SortExpression.ToString();
if (ViewState["sortOrder"].ToString() == sPage)
{
if (ViewState["OrderDire"].ToString() == "Desc")
{
ViewState["OrderDire"] = "ASC";
}
else
ViewState["OrderDire"] = "Desc";
}
else
{
ViewState["OrderDire"] = "Desc";
}
GridViewBind();
}
public void GridViewBind()
{
//实例化SqlConnection对象
SqlConnection sqlCon = new SqlConnection();
//实例化SqlConnection对象连接数据库的字符串
sqlCon.ConnectionString = "Data Source=DESKTOP-FJIL96I\\MSSQLSERVER01;Initial Catalog=student;Integrated Security=True";
//定义SQL语句
string SqlStr = "select * from SC";
//实例化SqlDataAdapter对象
SqlDataAdapter da = new SqlDataAdapter(SqlStr, sqlCon);
//实例化数据集DataSet
DataSet ds = new DataSet();
da.Fill(ds, "SC");
DataView dv = ds.Tables["SC"].DefaultView;
string a = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];
dv.Sort = a;
//绑定DataList控件
GridView1.DataSource = dv;//设置数据源,用于填充控件中的项的值列表
GridView1.DataBind();//将控件及其所有子控件绑定到指定的数据源
}
}
}