DATAGRID如何实现排序? 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你上google或者 msdn, 会有一大把sample chenzhifeng(晓峰) +排序的基本原理是在数据库先 order by 然后在绑定-----------------------chenzhifeng(晓峰) 你名字怎么跟我一样 你想怎么排序?列头排序?那就设置DataGrid的AllowPaging的属性。 利用ViewState保存当前 ASC或者DESC的状态。。将此状态拼接到查询语句后。。我一般是这样处理的。。 就列头排序,但排序事件如何编写呢?ViewState是什么呢? zifeng_86188281() ( ) 信誉:100 Blog 不会吧好像没那么巧吧还有你是86年的吗???LZViewState是一个视图可以存储数据用,可能跟session一样(个人认为)页面刷新值不会变的 前台页面代码:<asp:BoundColumn DataField="UserID" SortExpression="UserID" HeaderText="用户名"></asp:BoundColumn><asp:BoundColumn DataField="TestingDate" SortExpression="TestingDate" HeaderText="测试日期"></asp:BoundColumn><asp:BoundColumn DataField="TestingScore" SortExpression="TestingScore" HeaderText="测试成绩"></asp:BoundColumn>后台代码:string OrderBy;if(ViewState["OrderBy"] == null){ OrderBy = " JXNF_KS_TESTING.TESTINGDATE DESC"; ViewState["OrderBy"] = OrderBy;}elseOrderBy = ViewState["OrderBy"].ToString();if(OrderBy != "")strSql += " ORDER BY " + OrderBy;private void Dg_Main_ItemCommand(object source,System.Web.UI.WebControls.DataGridCommandEventArgs e){ if(e.CommandName.Equals("Sort")) { if(ViewState["OrderBy"].ToString().Equals(e.CommandArgument + " ASC")) ViewState["OrderBy"] = e.CommandArgument + " DESC"; else ViewState["OrderBy"] = e.CommandArgument + " ASC"; Dg_Main.SelectedIndex = -1; }dbgrid重新绑定} DataTable tb = new DataTable();在sortCommand事件里重新绑定至dv即可DataView dv = tb.DefaultView;new DataView();dv.Sort = "";datagrid.DataSource=dv;datagrid.DataBind(); 菜鸟问题请大家帮个忙~!谢谢 有工作经验的进 我这个想法行不行啊? js 计算gridview列问题! aspx 文件里的 input 不使用Ajax能解决掉这个PostBack吗? IIS通配符问题在线等 缩略图怪问题!凡是图片带红色部分就明显失真... 当客户机上cookie不存在的时候 还是报错 可以由数据库的数据生成一个XML文件吗? 公式计算速度很慢怎么解决呢 如何实现天气预报(急!在线等)
+
排序的基本原理是在数据库先 order by
然后在绑定-----------------------
chenzhifeng(晓峰) 你名字怎么跟我一样
那就设置DataGrid的AllowPaging的属性。
ViewState是什么呢?
不会吧
好像没那么巧吧
还有你是86年的吗???
LZ
ViewState是一个视图可以存储数据用,可能跟session一样(个人认为)
页面刷新值不会变的
<asp:BoundColumn DataField="UserID" SortExpression="UserID" HeaderText="用户名"></asp:BoundColumn>
<asp:BoundColumn DataField="TestingDate" SortExpression="TestingDate" HeaderText="测试日期"></asp:BoundColumn>
<asp:BoundColumn DataField="TestingScore" SortExpression="TestingScore" HeaderText="测试成绩"></asp:BoundColumn>
后台代码:
string OrderBy;
if(ViewState["OrderBy"] == null)
{
OrderBy = " JXNF_KS_TESTING.TESTINGDATE DESC";
ViewState["OrderBy"] = OrderBy;
}
else
OrderBy = ViewState["OrderBy"].ToString();
if(OrderBy != "")
strSql += " ORDER BY " + OrderBy;private void Dg_Main_ItemCommand(object source,System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.CommandName.Equals("Sort"))
{
if(ViewState["OrderBy"].ToString().Equals(e.CommandArgument + " ASC"))
ViewState["OrderBy"] = e.CommandArgument + " DESC";
else
ViewState["OrderBy"] = e.CommandArgument + " ASC";
Dg_Main.SelectedIndex = -1;
}
dbgrid重新绑定
}
DataView dv = tb.DefaultView;
new DataView();
dv.Sort = "";
datagrid.DataSource=dv;
datagrid.DataBind();