欢迎光临
我们一直在努力

DataGrid 中双向排序的一种办法-.NET教程,数据库应用

建站超值云服务器,限时71元/月

在.net 中 datagrid 虽然有排序的功能,但并不支持双向的排序。用到了,看了些相关的帖子,自己尝试了一种方法,竟然也行得通,呵呵

主要是用datagrid.attributes 存了一个参数,同时在onsortcommand中修改了datagridcolumn的sortexpression. 代码如下:

private void binddata()

{

datatable dt = …….;

if(dt != null)

{

dataview dv = dt.defaultview;

if(datagrid1.attributes["sortby"] != null)

{

dv.sort = datagrid1.attributes["sortby"];

}

datagrid1.datasource = dv;

datagrid1.databind();

}

}

private void datagridsort(object source, system.web.ui.webcontrols.datagridsortcommandeventargs e)

{

datagrid1.attributes["sortby"] = sortstr;

this.binddata();

//找到排序的列,并修改把它的排序属性

datagridcolumn clm = null;

for(int i=0;i<datagrid1.columns.count;i++)

{

if(datagrid1.columns[i].sortexpression == e.sortexpression )

{

clm = datagrid1.columns[i];

break;

}

}

if(clm == null) return;

if(e.sortexpression.tolower().indexof("desc") > 0)

{

clm.sortexpression = e.sortexpression.tolower().replace("desc","asc");

}

else

{

if(e.sortexpression.tolower().indexof("asc") > 0)

{

clm.sortexpression = e.sortexpression.tolower().replace("asc","desc");

}

else

{

clm.sortexpression = e.sortexpression.tolower() + " desc";

}

}

}

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » DataGrid 中双向排序的一种办法-.NET教程,数据库应用
分享到: 更多 (0)

相关推荐

  • 暂无文章