C#中实现DataGrid双向排序

C#中实现DataGrid双向排序,第1张

C#中实现DataGrid双向排序,第2张

虽然DataGrid在。net,它不支持双向排序。是的,我做到了。看了一些相关的帖子,我自己尝试了一个方法,确实有效。主要是用DataGrid保存了一个参数。属性,并在onSortCommand中修改了DataGridColumn的SortExpression。代码如下:

private void bind data()
{
DataTable dt =.......;
if(dt!= null)
{
DataView dv = dt。DefaultView
if(DataGrid1。属性["SortBy"]!= null)
{
dv。Sort = DataGrid1。属性[" sort by "];
}

DataGrid1DataSource = dv
DataGrid1。DataBind();
}
}

private void DataGridSort(对象源,系统。web . ui . web controls . datagridsortcommandeventargs e)
{
datagrid 1。attributes[" sort by "]= sortstr;
这个。bind data();

//找到排序后的列,修改其排序属性。

DataGridColumn clm = null

for(int I = 0;i {
if(DataGrid1。列[i]。sort expression = = e . sort expression)
{
clm = datagrid 1。列[I];
break;
}
}

if(clm == null)返回;

if(例如SortExpression.ToLower()。index of(" desc ")> 0)
{
clm。sort expression = e . sort expression . to lower()。替换(" desc "," ASC ");
}
else
{
if(e . sort expression . to lower()。index of(" ASC ")> 0)
{
clm。sort expression = e . sort expression . to lower()。替换(" asc "," desc ");
}
else
{
clm。sort expression = e . sort expression . to lower()+" desc ";
}
}
}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C#中实现DataGrid双向排序

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情