GridView的排序功能?会的来 GridView不是有个排序的吗,我没怎么用过,就是我想问下,启用排序后,点击那个标题按某个字段的大小排序,但是第一次是按从小到大排的,第二次才是从大到小排,我想让它第一次从大到小排,第二次从小到大排,怎么办? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 初始设定,或者完全自己绑定http://www.cnblogs.com/couhujia/archive/2009/09/26/1574617.html这里有一篇自己绑定的文章 GRIDVIEW 有一个Sort相关的事件,里面有个参数,如果是升序,你改为降序,如果是降序,你改为升序,就实现了啊 不好意思,刚学.net,不会用,没用过 前台:<Columns> <asp:BoundField DataField="CID" HeaderText="用户ID" SortExpression="CID"/> <asp:BoundField DataField="Name" HeaderText="用户姓名" SortExpression="Name"/> <asp:BoundField DataField="Sex" HeaderText="性别" SortExpression="Sex"/> <asp:BoundField DataField="Address" HeaderText="家庭住址" SortExpression="Address" /> <asp:BoundField DataField="Post" HeaderText="邮政编码" SortExpression="Post"/> </Columns> protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { ViewState["SortOrder"] = "name"; //设定排序字段 ViewState["OrderDire"] = "desc"; //降序排列 GvBind(); //绑定gridview } } public void GvBind() { string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"]; DataView view = Tables[0].DefaultView; //这里的table是查询结果 view.Sort = sort; gridview.DataSource = view; gridview.DataBind(); }protected void gridview_Sorting(object sender, GridViewSortEventArgs e) { string sPage = e.SortExpression; if (ViewState["SortOrder"].ToString() == sPage) { if (ViewState["OrderDire"].ToString() == "Desc") ViewState["OrderDire"] = "ASC"; else ViewState["OrderDire"] = "Desc"; } else { ViewState["SortOrder"] = e.SortExpression; } GvBind(); } 后台: //绑定GridView public void bind() { string sortExpression = this.GridView1.Attributes["SortExpression"]; string sortDirection = this.GridView1.Attributes["SortDirection"]; string sqlstr = "select * from Admin"; sqlcon = new SqlConnection(strCon); SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon); DataSet myds = new DataSet(); sqlcon.Open(); myda.Fill(myds, "Admin"); DataView dv = myds.Tables[0].DefaultView; string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"]; dv.Sort = sort; GridView1.DataSource = myds; GridView1.DataBind(); } protected void GridView1_Sorting(object sender, GridViewSortEventArgs e) { string sPage = e.SortExpression; if (ViewState["SortOrder"].ToString() == sPage) { if (ViewState["OrderDire"].ToString() == "Desc") ViewState["OrderDire"] = "ASC"; else ViewState["OrderDire"] = "Desc"; } else { ViewState["SortOrder"] = e.SortExpression; } bind(); } asc,desc的大小写自己注意7楼里面写的没统一 招募.net爱好者 QQ群:84493831 数据控件真难用 不剩 直接循环 table 你直接用个SQL排序语句,排序一下再绑定吗!!! Calendar 绑定一个日期 泛型集合! ~~~~~JS读取xml到<select>问题~~~~救急!! 求助!水晶报表问题? 求救,怎样设定一个表中的每一行数据的上下间隔? 发现一个外国人的目录树免费啊~来分享啦! 问三个比较迷惑也比较普遍的问题??????? 大家看看这个效果怎么做的 如何,只刷新页面中某一个部份 mvc5 日期控件 TransactionScope 和 Sql2005镜像冲突 VSS打不开sln
http://www.cnblogs.com/couhujia/archive/2009/09/26/1574617.html
这里有一篇自己绑定的文章
<asp:BoundField DataField="CID" HeaderText="用户ID" SortExpression="CID"/>
<asp:BoundField DataField="Name" HeaderText="用户姓名" SortExpression="Name"/>
<asp:BoundField DataField="Sex" HeaderText="性别" SortExpression="Sex"/>
<asp:BoundField DataField="Address" HeaderText="家庭住址" SortExpression="Address" />
<asp:BoundField DataField="Post" HeaderText="邮政编码" SortExpression="Post"/>
</Columns>
{
if (!this.IsPostBack)
{
ViewState["SortOrder"] = "name"; //设定排序字段
ViewState["OrderDire"] = "desc"; //降序排列
GvBind(); //绑定gridview
}
}
public void GvBind()
{
string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];
DataView view = Tables[0].DefaultView; //这里的table是查询结果
view.Sort = sort;
gridview.DataSource = view;
gridview.DataBind(); }protected void gridview_Sorting(object sender, GridViewSortEventArgs e)
{
string sPage = e.SortExpression;
if (ViewState["SortOrder"].ToString() == sPage)
{
if (ViewState["OrderDire"].ToString() == "Desc")
ViewState["OrderDire"] = "ASC";
else
ViewState["OrderDire"] = "Desc";
}
else
{
ViewState["SortOrder"] = e.SortExpression;
}
GvBind();
}
public void bind()
{
string sortExpression = this.GridView1.Attributes["SortExpression"];
string sortDirection = this.GridView1.Attributes["SortDirection"]; string sqlstr = "select * from Admin";
sqlcon = new SqlConnection(strCon);
SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
DataSet myds = new DataSet();
sqlcon.Open();
myda.Fill(myds, "Admin");
DataView dv = myds.Tables[0].DefaultView;
string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];
dv.Sort = sort; GridView1.DataSource = myds;
GridView1.DataBind();
}
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
string sPage = e.SortExpression;
if (ViewState["SortOrder"].ToString() == sPage)
{
if (ViewState["OrderDire"].ToString() == "Desc")
ViewState["OrderDire"] = "ASC";
else
ViewState["OrderDire"] = "Desc";
}
else
{
ViewState["SortOrder"] = e.SortExpression;
}
bind(); }