欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » AspxGridView使用教程 » 正文

从客户端与服务器端为AspxGridView实现排序

创建时间:2011年11月28日 17:06  阅读次数:(7708)
分享到:

一、从客户端实现排序

从客户端调用SortBy方法实现排序:
语法1:void SortBy(ASPxClientGridViewColumncolumn);
语法2:void SortBy(int columnIndex);
语法3:void SortBy(string columnFieldNameOrId);
语法4:void SortBy(string columnFieldNameOrId, string sortOrder);
语法5:void SortBy(ASPxClientGridViewColumn column,string sortOrder);
语法6:void SortBy(int columnIndex, string sortOrder);

参数解释:
SortOrder:排序方向,可取Ascending、Descending值。
Reset:是否清除以前的排序规则,如果不清除,则当前栏位会追加到排序栏位列表中。

(2)点击栏位题头排序。
按住Shift键可以指定多个栏位排序。


二、从服务器端实现排序

排序设置
必须设置AspxGridView允许排序才可执行真正的排序
设置示例:
SettingsBehavior.AllowSort=true
该选项默认为true。

在服务端调用SortBy方法排序
语法1.int SortBy(GridViewColumn column,int value)
语法2.ColumnSortOrder SortBy(GridViewColumn column,ColumnSortOrdervalue)

调用SortBy方法不会自动清除以前的排序栏位,如果不清除之前的排序栏位,则当前栏位会追加到排序栏位列表中。
可以通过以下方法清除以前的排序栏位。
1,调用ClearSort方法来清除以前的排序栏位
2,遍历栏位的SortIndex属性来确定是否参与过排序及排序的次序(SortIndex=-1表示不排序,另外栏位的SortOrder可获取或设置排序方式)。GridViewColumn.SortIndex=-1。
3,调用GridViewColumn.UnSort()方法

示例:

protectedvoidbtnServerSort_Click(objectsender,EventArgse)
{
string sortColumn=this.ddlSortColumn.SelectedValue;
string sortType=this.ddlSortType.SelectedValue;
GridViewDataColumn sortDataColumn;
DevExpress.Data.ColumnSortOrdersortOrder;

this.ASPxGridView1.SettingsBehavior.AllowSort=true;
if(sortType=="Desc")
{
sortOrder=DevExpress.Data.ColumnSortOrder.Descending;
}
else
{
sortOrder=DevExpress.Data.ColumnSortOrder.Ascending;
}
if(sortColumn!=null)
{
this.ASPxGridView1.ClearSort();//清除以前的排序栏位
sortDataColumn=this.ASPxGridView1.Columns[sortColumn] as GridViewDataColumn;
this.ASPxGridView1.SortBy(sortDataColumn,sortOrder);//执行排序
}
}

直接操作GridViewDataColumn排序
调用GridViewDataColumn.SortAscending()方法正向排序
调用GridViewDataColumn.SortDescending()方法逆向排序

使用GetSortedColumns方法取排序栏位
语法:System.Collections.ObjectModel.ReadOnlyCollection<GridViewDataColumn>GetSortedColumns()
示例:

System.Collections.ObjectModel.ReadOnlyCollection<GridViewDataColumn>sortedColumnList=this.ASPxGridView1.GetSortedColumns();
StringBuilder msg=new StringBuilder();
for(inti=0;i<sortedColumnList.Count;i++)
{
msg.Append(sortedColumnList[i].FieldName);
}
string js="alert('"+msg.ToString()+"')";
ScriptManager.RegisterClientScriptBlock(this,this.GetType(),"GetSortedColumns",js,true);//在客户端执行脚本

来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf】

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 46+29=? 的结果(结果是:75)
结  果: