JQuery构建客户/服务分离的链接模型中Table中的排序分析
发布时间:2018-08-17 11:28:54 所属栏目:传媒 来源:站长网
导读:从上篇文章,我们实现了Table分页代码的高效性,咱们继续沿着这个思路,探讨Table表格数据中另外一个很常见的排序问题。说到排序,我记得在asp.net中 GridView中提供了这样的方便,只需在展示字段上加上 Sorting 这样的属性,基本就完成了,剩下就是服务端c
下面我们进行运用,这个方法是一个Webservice接口端的新写的方法,我们看见红色代码段是排序块,绿色注解是过滤代码块(代码已经略去) Copy to Clipboard![]() /// 分页功能的表格填充服务端(带排序) /// </summary> /// <param name="FlowID"></param> /// <param name="PageCount">每页数目</param> /// <param name="CurrentPage">当前页</param> /// <param name="SortType">排序类型:"ASC" ,"DESC"</param> /// <returns></returns> [WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public string Load_ContributivePerson_Table_Sort(string FlowID, int PageCount, int CurrentPage, string SortType, string SortFieldName) { List<TB_WEB_NZ_INVESTMENT> list = new List<TB_WEB_NZ_INVESTMENT>(); list = objBusinessFacade.GetTB_WEB_NZ_INVESTMENT_CollectionByFlowID(FlowID); ContributivePerson_SortComparerFactory objFactory = new ContributivePerson_SortComparerFactory(); IComparer<TB_WEB_NZ_INVESTMENT> objSort = null; if (SortType.ToUpper().Trim() == "ASC") { objSort = objFactory.GetSortComparer(SortFieldName,ESortType.ASC); } else if (SortType.ToUpper().Trim() == "DESC") { objSort = objFactory.GetSortComparer(SortFieldName, ESortType.DESC); } list.Sort(objSort); //部分代码略去,略去代码可参看上篇文章:http://www.veryhuo.com/a/view/12246.html return new JavaScriptSerializer().Serialize(list); } 通过添加比较器,我们达到了在泛型list对象上的随心所欲的排序,而不需要通过SQL语句进行排序。在客户端的页面只要添加必要的参数就可以实现了,中间层服务端已经实现了全部的核心,客户端代码只需要判别是哪个列要进行排序,同时注意【首页】【下一页】等按排序的顺序翻页即可,这里客户端的代码略去 按【余额缴付期限】列进行升序排列:
按【投资人】降序排列:
(编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |