jeesite4实现页面list动态排序

背景及需求:两个页面都是请求的数据都是一张表,同一个实体,但是我第一个页面希望按照某一字段排序,第二张表按照默认update_time来排序,这个需求你们是怎么实现动态排序的

发现jeesite是通过注解的形式配置mybatis

例如:

@Table(name="py_narcotics", alias="a", columns={
		@Column(name="narc_id", attrName="narcId", label="narc_id", isPK=true),
		@Column(name="name", attrName="name", label="姓名", queryType=QueryType.LIKE),
		@Column(name="photo", attrName="photo", label="照片"),
		@Column(name="id_card", attrName="idCard", label="身份证号"),
		@Column(name="phone", attrName="phone", label="手机号"),
		@Column(name="we_chat", attrName="weChat", label="微信号"),
		@Column(name="control_time", attrName="controlTime", label="监控时间", isUpdateForce=true),
		@Column(name="create_by", attrName="createBy", label="创建者", isUpdate=false, isQuery=false),
		@Column(name="create_date", attrName="createDate", label="创建时间", isUpdate=false, isQuery=false),
		@Column(name="update_by", attrName="updateBy", label="更新者", isQuery=false),
		@Column(name="update_date", attrName="updateDate", label="更新时间", isQuery=false),
		@Column(name="remarks", attrName="remarks", label="备注信息", queryType=QueryType.LIKE),
		@Column(name="del_flag", attrName="delFlag", label="删除标记"),
	}, orderBy="a.update_date DESC"
	)

默认的排序也是@table注解中的order by

然后mapper.xml也就是SQL的XML文件中封装了:

<!-- 查询数据
	<select id="findList" resultType="PyNarcotics">
		SELECT ${sqlMap.column.toSql()}
		FROM ${sqlMap.table.toSql()}
		<where>
			${sqlMap.where.toSql()}
		</where>
		ORDER BY ${sqlMap.order.toSql()}
	</select> -->

不管你是自己重写扩展SQL还是默认用框架封装好的,只要有ORDER BY ${sqlMap.order.toSql()}就可以实现点击表头就可以实现按照表头某一字段排序

扫描二维码关注公众号,回复: 6545183 查看本文章

如果想实现动态排序,则应该在对应的list页面请求的controller方法中加上:

    /**
	 * 查询列表数据
	 */
	@RequiresPermissions("py:pyNarcotics:view")
	@RequestMapping(value = "listData")
	@ResponseBody
	public List<PyNarcotics> listData(PyNarcotics pyNarcotics, HttpServletRequest request, HttpServletResponse response) {
		pyNarcotics.setStateNum(1);
		//设置在手人员默认按照监控时间来排序
		if(pyNarcotics.getOrderBy() == null){
			pyNarcotics.setOrderBy("control_time desc");
		}
		List<PyNarcotics> page = pyNarcoticsService.findPyNarcoticsList(pyNarcotics);
		return page;
	}

然后相应的页面就会按照你代码中设置的字段排序,而点击表头也可以实现按照表头的某一字段排序,从而实现了动态排序

参考文档: 

猜你喜欢

转载自blog.csdn.net/qq_37725560/article/details/91367692