在DataGrid中实现双向排序的问题 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private void Page_Load(object sender, System.EventArgs e) { if(!IsPostBack) { //设置排序表达式 ViewState["SortOrder"] = "LastName"; //设置排序的升降序 ViewState["OrderDire"] = "ASC"; //数据绑定 DataGridDataBind(); } } private void DataGridDataBind() { //定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的 SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString()); //创建数据适配器对象 SqlDataAdapter da = new SqlDataAdapter("select LastName,FirstName,Title,TitleOfCourtesy,BirthDate,City from Employees",conn); //创建DataSet对象 DataSet ds = new DataSet(); try { //填充数据集 da.Fill(ds,"testTable"); //取得填充表格的默认视图 DataView view = ds.Tables["testTable"].DefaultView; //设置排序关键字 string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"]; //设置排序表达式 view.Sort = sort; //数据邦定 dgPagerState.DataSource = view; dgPagerState.DataBind(); } catch(Exception error) { Response.Write(error.ToString()); } }private void dgPagerState_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e) { //取得排序表达式 string vortExp = e.SortExpression; //如果是当前排序表达式 if(ViewState["SortOrder"].ToString() == vortExp) { //如果原来是降序则改为升序,反之亦然 if((string)ViewState["OrderDire"] == "Desc") ViewState["OrderDire"] = "ASC"; else ViewState["OrderDire"] = "Desc"; } else { //重新设置排序关键字 ViewState["SortOrder"] = e.SortExpression; } DataGridDataBind(); } } 客户端排序http://singlepine.cnblogs.com/articles/323386.html服务器端排序http://singlepine.cnblogs.com/articles/266538.html http://dev.csdn.net/article/55/55786.shtm private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e){if(ViewState["oreder"]==null){ViewSate["order"]="ASC"}else{if(ViewState["order"].ToString()="ASC"){ViewState["order"]="DESC";}else{ViewState["order"]="ASC";}} //数据绑定ds.Table[""].DefaultView.Sort=e.SortExpression+""+ViewState["order"].ToString();dg.datasoure=}当然了,在DG属性里设定允许排序,把要点击后排序的字段指定排序表达式,就可以实现了,点一下升序,再点一下就降序 javascript如何取到hidden的值? ASP.NET 门户网的首页怎么做?在线等 [ASP.NET]Callback实现不了效果 asp.net中的成员角色管理问题! 如何在html中点击一个超连接就会播放一段音乐,并且没有任何播放器出现 请问卢彦的《XML WEB报表》文章大家谁调通了,或者有代码? 字符串问题 .net 实现 office文件转成pdf 我想一按回车就点击button1,怎么实现?有没可能在服务器端实现? 怎么background-image不起作用阿? .Net做的音乐搜索站,请兄弟们评评。
{
if(!IsPostBack)
{
//设置排序表达式
ViewState["SortOrder"] = "LastName";
//设置排序的升降序
ViewState["OrderDire"] = "ASC";
//数据绑定
DataGridDataBind();
}
} private void DataGridDataBind()
{
//定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
//创建数据适配器对象
SqlDataAdapter da = new SqlDataAdapter("select LastName,FirstName,Title,TitleOfCourtesy,BirthDate,City from Employees",conn);
//创建DataSet对象
DataSet ds = new DataSet();
try
{
//填充数据集
da.Fill(ds,"testTable");
//取得填充表格的默认视图
DataView view = ds.Tables["testTable"].DefaultView;
//设置排序关键字
string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];
//设置排序表达式
view.Sort = sort;
//数据邦定
dgPagerState.DataSource = view;
dgPagerState.DataBind();
}
catch(Exception error)
{
Response.Write(error.ToString());
}
}private void dgPagerState_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
//取得排序表达式
string vortExp = e.SortExpression;
//如果是当前排序表达式
if(ViewState["SortOrder"].ToString() == vortExp)
{
//如果原来是降序则改为升序,反之亦然
if((string)ViewState["OrderDire"] == "Desc")
ViewState["OrderDire"] = "ASC";
else
ViewState["OrderDire"] = "Desc";
}
else
{
//重新设置排序关键字
ViewState["SortOrder"] = e.SortExpression;
}
DataGridDataBind();
}
}
http://singlepine.cnblogs.com/articles/323386.html
服务器端排序
http://singlepine.cnblogs.com/articles/266538.html
{if(ViewState["oreder"]==null)
{
ViewSate["order"]="ASC"
}
else
{
if(ViewState["order"].ToString()="ASC")
{
ViewState["order"]="DESC";
}
else
{
ViewState["order"]="ASC";
}
}
//数据绑定
ds.Table[""].DefaultView.Sort=e.SortExpression+""+ViewState["order"].ToString();
dg.datasoure=}当然了,在DG属性里设定允许排序,把要点击后排序的字段指定排序表达式,就可以实现了,点一下升序,再点一下就降序