需要引入的js以及css请自行到官网去查下载,和查看引入方法
html 部分
<table width="100%">
<tr>
<td width="98%">
<table class="layui-hide" id="BagTable" lay-filter="BagTablefilter"></table>
</td>
<td></td>
</tr>
</table>
js部分
table.render({
elem: '#BagTable'
, url: '/HR/Human/GetBagTable' //url会默认带两个参数传到后台的 page,limit
, where: { 'empCode': '@Model.TableInfo.EmployeeCode' }
, cellMinWidth: 80
, cols: [[
{ field: 'NAME', title: '名称' }
, { field: 'CREATED_DATE', title: '创建时间' }
]]
, page: true
});
后台代码
public JsonResult GetBagTable(string empCode, int page, int limit)
{
string sql = string.Format(@"select NAME,DATE_FORMAT(CREATED_DATE,'%Y-%m-%d %h:%i:%s') as CREATED_DATE from amm_bag where DELETE_FLAG='N' and COMPANY_ID='07htn' and emp_code='{0}'", empCode);
int resCount = DbAccess.GetRecordCountBySql(sql);
string sqls = $@"SELECT *
FROM ({sql}) A
Limit {page * (page - 1) } , {limit}";
DataTable dts = DbAccess.GetDataTable(sqls);
var result = JsonConvert.SerializeObject(dts);
var sapEmpChangeModels = JsonConvert.DeserializeObject<List<BagInformation>>(result);
var mo = new CommonResultModel<BagInformation, BagInformation>();
mo.code = 0;
mo.count = resCount;
mo.msg = "OK";
mo.data = sapEmpChangeModels;
return Json(mo, JsonRequestBehavior.AllowGet);
}
layui的分页困扰了很长世间,原来一直以为是后台直接白数据传到前端,然后前端js控制显示的假分页,后来查阅资料的时候发现,layui分页url中会默认带两个分页参数,page和limit,知道这个之后就简单了,后台传入这两个参数控制下就可以了