Bootstrap Table分页例子


html

	   <div style="width:95%;float:left;" > -->
		   <table class="rl-page-table ui celled structured table span11" table-data-url="/lead/sale/summary/getStatListTable">
		    <thead>
		    <tr>
		      <th  data-field="id" data-formatter="xuhao"  width="10%">序号</th>
	          <th  data-field="salesman.name"  width="20%">销售人员</th>
	          <th data-field="bonusAmount" data-sortable="true" width="20%">总提成(元)</th>
	          <th data-field="sellBonus" data-sortable="true"  width="10%">当月售车提成(元)</th>
	          <th data-field="monthBonus" data-sortable="true"  width="10%">缴租提奖(元)</th>
	          <th data-field="halfYearBonus" data-sortable="true"  width="10%">半年提奖(元)</th>
	          <th data-field="salesNumber" data-sortable="true"  width="10%">当月销量(台)</th>
	          <!-- <th data-field="id" data-formatter="down" id="downth">下载列表</th> -->
	          <th data-colspan="8" data-field="id" data-formatter="down"  width="10%">下载</th>
	<!-- 	        <th data-field="id" data-align="right" data-sortable="true">Item ID</th> -->
		    </tr>
		    </thead>
		</table>


   <link href="//cdn.bootcss.com/bootstrap-table/1.10.1/bootstrap-table.css" rel="stylesheet">
  	<script src="//cdn.bootcss.com/bootstrap-table/1.10.1/bootstrap-table.min.js"></script>
  	<script src="//cdn.bootcss.com/bootstrap-table/1.10.1/locale/bootstrap-table-zh-CN.min.js"></script>
  	
  	
  	<script src="http://echarts.baidu.com/echarts2/doc/example/timelineOption.js"></script>
  	
  	<script src="/static/stat/summary.js"></script>
    <script src="/static/stat/bootPaginator.js"></script>


js

/**
 * Pagination分页
 * table 需要table-data-url='uri'
 * 
 * @param table id或calss
 * @param flag 刷新表数据
 */

function getPaginationTable(table,flag) {
	
	$(table).bootstrapTable('removeAll');
	var uri=$(table).attr('table-data-url');
	if (flag) {// null undefinded "" NaN typeof
		$(table).bootstrapTable('refresh', queryParams);
		return;
	}

	$(table).bootstrapTable({
		method : 'get', // 这里要设置为get,不知道为什么 设置post获取不了
		url : ctx + uri,
		cache : false,
		striped : true,
		silent : true,
		pagination : true,
		pageList : [ 5, 10, 20, 50, 100, 200 ],
		// contentType: "application/x-www-form-urlencoded",
		pageSize : 10,
		// pageNumber : 1,
		queryParamsType : 'limit',
		// search : true,
		sidePagination : 'server',// 设置为服务器端分页
		queryParams : queryParams
	// ,// 参数
	// showColumns : true,
	// showRefresh : true
	});
}

调用

function xuhao(r, v, i) {

	return i + 1;
}
function down(r, v, i) {
	if (i == 0) {
		return '下载';
	}
	return '';
}

//设置传入参数
function queryParams(parma) {
	// 获取查询条件
	var mehtod = $("#_feeDay").val();
	var teamId = $("#_teme_selection").val();
	// 选择本月和上月
	if (mehtod == "" || "undefined" == mehtod) {
		mehtod = $('input[name="radio1"]:checked ').val();
	}

	var dataParm = '';
	if (mehtod != "" && mehtod != null && mehtod != 'undefined') {
		dataParm += "mehtod=" + mehtod;
		parma = $.extend(parma, {
			mehtod : mehtod,
		});

	}

	if (teamId != "" && teamId != 'undefined' && teamId != null) {

		parma = $.extend(parma, {
			teamId : teamId,
		});

	}
	// parma.teamId = teamId;
	// return dataParm+parma;
	return parma;
}

//初始化表
	getPaginationTable(".rl-page-table",false);

后端代码简单封装

	/**
	 * 获取列表
	 * 
	 * @return
	 */
	@ResponseBody
	@RequestMapping(value = { "getStatListTable" })
	public PaginatorResult  getStatListTable( HttpServletRequest request, HttpServletResponse response,Paginator paginator,
			SaleCommissionVo saleCommissionVo) {
		saleCommissionVo=execPaerm(saleCommissionVo);
		PaginatorResult pageResult = summaryService.getPaginatorList(paginator, saleCommissionVo);
		return pageResult;
	}

import org.apache.commons.lang.StringUtils;

/**
 * bootstarp Paginator分页参数
 * <p>
 * order=asc&limit=10&offset=30
 * 
 * @author ruiliang
 * @date 2017/03/08
 */
public class Paginator {

	private String order;// 排序方式
	private int limit;// 限制取多少行
	private int offset;// 起始行,忽略前面行数
	private String sort;// 排序名称
	private Object bean;

	public String getOrder() {
		return order;
	}

	public void setOrder(String order) {
		this.order = order;
	}

	public int getLimit() {
		return limit;
	}

	public void setLimit(int limit) {
		this.limit = limit;
	}

	public int getOffset() {
		return offset;
	}

	public void setOffset(int offset) {
		this.offset = offset;
	}

	public String getSort() {
		return sort;
	}

	public String getSortAppendOrderBy() {
		if (!StringUtils.isBlank(sort)) {
			if (!StringUtils.isBlank(order)) {
				StringBuffer sb = new StringBuffer();
				sb.append(sort);
				sb.append(" ");
				sb.append(order);
				sort = sb.toString();
			}
		}
		return sort;
	}

	public void setSort(String sort) {
		this.sort = sort;
	}

	public Object getBean() {
		return bean;
	}

	public void setBean(Object bean) {
		this.bean = bean;
	}

	// @Deprecated
	// public <T> Page<T> toPageJSTL(Page<T> page) {
	// if (page == null) {
	// page = new Page<T>();
	// }
	//
	// if (!StringUtils.isBlank(sort)) {
	// if (!StringUtils.isBlank(order)) {
	// sort = (sort + " " + order);
	// }
	// page.setOrderBy(sort);
	// }
	//
	// if (offset <= 0) {
	// offset = 1;
	// }
	// page.setPageNo(offset);
	// page.setPageSize(limit);
	// return page;
	// }

}




package com.ihavecar.hirecar.common.persistence;

/**
 * PaginatorResult 分页返回结果
 * 
 * @author ruiliang
 *
 */
public class PaginatorResult {

	private Object rows;
	private long total;

	public Object getRows() {
		return rows;
	}

	public void setRows(Object rows) {
		this.rows = rows;
	}

	public long getTotal() {
		return total;
	}

	public void setTotal(long total) {
		this.total = total;
	}

}
mybatis 语句
	<!-- 搜索条件判断 -->
	<sql id="searchField">
		<where>
			a.del_flag = 0 
			<if test="bean.commissionDate != null and bean.commissionDate != ''">
				<![CDATA[
				AND a.commission_date >= DATE_ADD(CONVERT(#{bean.commissionDate}, DATE),interval -day(CONVERT(#{bean.commissionDate}, DATE))+1 day)
				AND a.commission_date < DATE_ADD(CONVERT(#{bean.commissionDate}, DATE)-day(CONVERT(#{bean.commissionDate}, DATE))+1,interval 1 month)
				]]>
			</if>
			<if test="bean.teamId != null and bean.teamId>0">
				AND u.office_id =#{bean.teamId}
			</if>
		</where>
	</sql>
	
	<select id="findPaginatorSummary" resultType="SaleCommissionSummary" parameterType="com.ihavecar.hirecar.common.persistence.Paginator">
		SELECT 
			<include refid="saleCommissionSummaryColumns"/>
		FROM sale_commission_summary a
		<include refid="saleCommissionSummaryJoins"/>
		<include refid="searchField" />
		<choose>
			<when test="bean !=null and sort != null and sort != ''">
				ORDER BY ${sort}  
<!-- 				<if test="order != null and order != ''"> -->
<!-- 				   #{order} -->
<!-- 				</if> -->
		
			</when>
			<otherwise>
				ORDER BY a.update_date DESC
			</otherwise>
		</choose>
		LIMIT
		#{offset},#{limit}
	</select>
	
	
	<select id="getCount" resultType="long" parameterType="com.ihavecar.hirecar.common.persistence.Paginator"	>
		SELECT 
			count(*)
		FROM sale_commission_summary a
		<include refid="saleCommissionSummaryJoins"/>
		<include refid="searchField" />
	</select>

---------------------补充说明代码,spirng dao  postgresql 处理方式 ,我回头第二次用的时候,也有点看不懂的原因-----------

/**
	 * 分页请求日志列表
	 * 
	 * @param paginator
	 * @param vo
	 * @return
	 */
	@Override
	public PaginatorResult getPaginatorList(Paginator paginator, ChartsQueryVo vo) {
		PaginatorResult result = new PaginatorResult();
		String table = "x8_crash_log";
		if (StringUtils.isNotBlank(vo.getGameMark())) {
			table = vo.getGameMark() + "_crash_log";
		}
		// 获取总记录数
		result.setTotal(getLogTotal(vo));
		// 参数
		List<Object> paramArray = new LinkedList<Object>();
		// 条件组装
		StringBuffer sqlWhere = getSQLString(vo);// 完成
		StringBuffer sql = new StringBuffer(512);
		sql.append("SELECT id,flag fla,dt,log FROM  ");
		sql.append(table);
		sql.append(sqlWhere);
		// 排序
		if (StringUtils.isNotBlank(paginator.getSort())) {
			if ("logType".equals(paginator.getSort())) {
				sql.append(" order by ");
				sql.append(" flag ");
				sql.append(paginator.getOrder());
			}
			if ("time".equals(paginator.getSort())) {
				sql.append(" order by ");
				sql.append(" dt ");
				sql.append(paginator.getOrder());
			}
		} else {
			sql.append(" order by dt desc");
		}
		// 分页
		sql.append(" LIMIT ");
		sql.append(paginator.getLimit());
		sql.append(" offset ");
		sql.append(paginator.getOffset());
		log.info("sql:>>>\n{}\n param={}", sql.toString(), paramArray.toArray());
		List<CrashLog> data = crashLogDao.selectObjectList(sql.toString(), rowMapper_log);
		// 处理长文本的
		if (data != null && data.size() > 0) {
			for (CrashLog log : data) {
				if (StringUtils.isNotBlank(log.getLog()) && log.getLog().length() > 200) {
					String log_text = log.getLog().substring(0, 200);
					String href = "  <a href='business/device/device_crash/log_detail".intern();
					href += "?id=";
					href += log.getId();
					href += "' target='blank' style='color: blue; cursor: pointer;'>详情</a>".intern();
					log.setLog(log_text + href);
				}
			}
		}
		result.setRows(data);
		return result;
	}

	/**
	 * 获取总记录数
	 * 
	 * @param vo
	 * @return
	 */
	public int getLogTotal(ChartsQueryVo vo) {
		String table = "x8_crash_log";
		if (StringUtils.isNotBlank(vo.getGameMark())) {
			table = vo.getGameMark() + "_crash_log";
		}
		// 参数
		List<Object> paramArray = new LinkedList<Object>();
		// 条件组装
		StringBuffer sqlWhere = getSQLString(vo);// 完成
		StringBuffer sql = new StringBuffer(512);
		sql.append("SELECT count(*) FROM  ");
		sql.append(table);
		sql.append(sqlWhere);
		log.info("sql:>>>\n{}\n param={}", sql.toString(), paramArray.toArray());
		int total = crashLogDao.selectForRows(sql.toString());
		return total;
	}

	private RowMapper<CrashLog> rowMapper_log = new RowMapper<CrashLog>() {
		@Override
		public CrashLog mapRow(ResultSet rs, int rowNum) throws SQLException {
			CrashLog bean = new CrashLog();
			bean.setId(rs.getLong(("id")));
			bean.setTime(rs.getString("dt"));
			bean.setLogType(rs.getString("fla"));
			bean.setLog(rs.getString("log"));
			return bean;
		}
	};



private StringBuffer getSQLString(ChartsQueryVo vo) {
		// 条件语句
		StringBuffer sbWhere = new StringBuffer();
		if (vo != null) {
			// 服务器
			// if (vo.getServer() != null && vo.getServer() > 0) {
			// sbWhere.append(" and server_id=");
			// sbWhere.append(vo.getServer());
			// }

			// 日期
			if (StringUtils.isNotBlank(vo.getDt1())) {// 如果不为空,
				sbWhere.append(" and dt>='");
				sbWhere.append(vo.getDt1());
				sbWhere.append("'");
			}

			if (StringUtils.isNotBlank(vo.getDt2())) {// 如果不为空,
				sbWhere.append(" and dt<='");
				sbWhere.append(vo.getDt2());
				sbWhere.append(" 23:59:59'");
			}
			// 平台
			if (StringUtils.isNotBlank(vo.getOs()) && !"-1".equals(vo.getOs())) {
				sbWhere.append(" and os='");
				sbWhere.append(vo.getOs().toLowerCase());
				sbWhere.append("'");
			}

			if (StringUtils.isNotBlank(vo.getType()) && !"-1".equals(vo.getType())) {
				sbWhere.append(" and app_v='");
				sbWhere.append(vo.getType());
				sbWhere.append("'");
			}
			// 1 JAVA 奔溃日志、2 C奔溃日志、3 Lua错误日志
			if (vo.getCommQueryInt() > 0) {
				sbWhere.append(" and flag=");
				sbWhere.append(vo.getCommQueryInt());
			}

		}
		if (StringUtils.isNotBlank(sbWhere.toString())) {
			// 删除 and 前4位
			sbWhere.delete(0, 5);
			sbWhere.insert(0, " where ");
		}
		// 转数组
		return sbWhere;
	}



  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值