jmesa - column sorting
来源:互联网 发布:mac air可以玩魔兽世界 编辑:程序博客网 时间:2024/06/06 19:57
<!-- /* Font Definitions */ @font-face{font-family:宋体;panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-alt:SimSun;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:variable;mso-font-signature:3 135135232 16 0 262145 0;}@font-face{font-family:"/@宋体";panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:variable;mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal{mso-style-parent:"";margin:0cm;margin-bottom:.0001pt;text-align:justify;text-justify:inter-ideograph;mso-pagination:none;font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman";mso-fareast-font-family:宋体;mso-font-kerning:1.0pt;} /* Page Definitions */ @page{mso-page-border-surround-header:no;mso-page-border-surround-footer:no;}@page Section1{size:612.0pt 792.0pt;margin:72.0pt 90.0pt 72.0pt 90.0pt;mso-header-margin:36.0pt;mso-footer-margin:36.0pt;mso-paper-source:0;}div.Section1{page:Section1;}-->
Jmesa的column sorting
在rocars中定义了
package customs.rocars.hibernate;
public class PagedCriteria {
private PageFilter pageFilter = new PageFilter( );
private PageSort pageSort = new PageSort( );
public PageFilter getPageFilter() {
return pageFilter;
}
public void setPageFilter(PageFilter pageFilter) {
this.pageFilter = pageFilter;
}
public PageSort getPageSort() {
return pageSort;
}
public void setPageSort(PageSort pageSort) {
this.pageSort = pageSort;
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////
package customs.rocars.hibernate;
import java.util.ArrayList;
import java.util.List;
import customs.rocars.dto.SortDTO;
public class PageSort {
List<SortDTO>sorts = new ArrayList<SortDTO>();
public void addSort(String property, String order) {
sorts.add(new SortDTO(property, order));
}
publicList<SortDTO> getSorts() {
returnsorts;
}
publicvoid setSorts(List<SortDTO> sorts) {
this.sorts= sorts;
}
}
/////////////////////////////////////////////////////////////////
可以在controller中调用一下code,从而获得jmesa为我们封装好的sorting attribute
pagedCriteria.setPageSort(TableFacadeUtils.getCommonSort(tableFacade.getLimit()));
为了能让在print的时候也能用到sorting的attribute,添加了以下一句code
//remove comment here, youcan apply column sorting (1st steps)
eqVehCrossHistoryDTO.setPrintPageSort(pagedCriteria.getPageSort());
最后,在dao中调用以下代码构造order by
/*//remove comment here, youcan apply column sorting (2st steps)
//counstruct order string
String orderString = CommonSortUtil.getOrderString(dto.getPrintPageSort(),new EqVehCrossHistorySort());
if(!StringUtil.isEmptyString(orderString)){
hqlBuffer.append(orderString);
}else{
//default order by string
hqlBuffer.append(" ORDER BYVCFL.VEH_REGT_MK");
}
*/
当然,这种做法是基于使用SQL进行查询的时候的做法。
至于用Hql和Criteria的做法也类似。
同时,以上的做法是适用于有多个order by的case,因为jmesa缺省的column sorting是可以同时有多个column一起排序的。
如果先每次只用一个column排序,那就得修改jmesa的源码了,不难,加多一句就可以了,
addSortToLimit : function(id,position, property, order) {
removeAllSortsFromLimit(id);//加上这一句就可以了
/*First remove the sort if it is set on the limit,
and then set the page back tothe first one.*/
this.removeSortFromLimit(id, property);
this.setPageToLimit(id, '1');
var limit = this.getTableFacade(id).limit;
var sort = new classes.Sort(position, property, order);
limit.addSort(sort);
},
还有只有一个column的情况,构造order by的时候就相对简单了- jmesa - column sorting
- Remove auto filter & sorting by Jmesa
- Normalizing&Sorting DataFrame Column
- 编程珠玑 column 11 sorting
- 什么是Jmesa(Jmesa介绍)
- 编程珠玑总结—column 11 Sorting
- Jmesa官方网站
- How to disable datagridview column header to alllow sorting
- RadGridView多列排序(Multiple Column Sorting)
- Jmesa 实例研究
- Jmesa结构介绍
- Sorting
- Sorting:
- Sorting
- Sorting
- Sorting
- Sorting
- Sorting
- 团队管理和团队文化
- 2009.09.01 博客近期改进公告!
- 管理小故事
- 删除Team Foundation 中的Team Project
- 深入学习嵌入式linux知识要点
- jmesa - column sorting
- Unable to create account user="orats2". useradd: cannot create directory /oracle/TS2
- 页面使用技巧汇总(1)
- 垂直对齐:vertical-align属性(转贴)
- I2C总线协议详解
- QTP中点击下载链接不弹出另存为对话框的解决办法
- sqlite的使用方法和函数
- 随想
- 网络编程学习小结