欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

layui實(shí)現(xiàn)數(shù)據(jù)表格table分頁(yè)功能(ajax異步)

 更新時(shí)間:2021年09月10日 15:38:36   作者:小黑小黑白  
這篇文章主要為大家詳細(xì)介紹了layui實(shí)現(xiàn)數(shù)據(jù)表格table分頁(yè)功能、異步加載,表格渲染,含條件查詢,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

layui實(shí)現(xiàn)數(shù)據(jù)表格table分頁(yè)功能,異步加載,表格渲染,含條件查詢。

一、引入layUI的相關(guān)資源

<link rel="stylesheet" href="${ctxPath}/vendor/layui/css/layui.css" >
<script src="${ctxPath}/vender/layui/layui.js" charset="utf-8"></script>

二、html頁(yè)面代碼

搜索表單:

<div class="layui-row">
 <form class="layui-form layui-col-md12 we-search">
 項(xiàng)目搜索:
 <div class="layui-inline">
 <input type="text" name="projectName" id="projectName" placeholder="項(xiàng)目名稱" autocomplete="off" class="layui-input">
 </div>
 <div class="layui-input-inline">
 <select name="businessOperatorId" id="businessOperatorId" lay-verify="" lay-search>
 <option value="">業(yè)務(wù)員</option>
 </select>
 </div>
 <div class="layui-input-inline">
 <select name="mftRepresentativeId" id="mftRepresentativeId" lay-verify="" lay-search>
 <option value="">廠家代表</option>
 </select>
 </div>
 <div class="layui-input-inline">
 <select name="channelId" id="channelId" lay-search>
 <option value="">渠道</option>
 </select>
 </div>
 <div class="layui-input-inline">
  <select name="customerId" id="customerId" lay-search>
  <option value="">客戶</option>
  </select>
 </div>
 <div class="layui-input-inline">
  <select name="projectPhase" id="projectPhase" lay-search>
  <option value="">項(xiàng)目階段</option>
  </select>
 </div>
 <div class="layui-input-inline">
  <select name="goodsCondition" id="goodsCondition" lay-search>
  <option value="">貨物情況</option>
  </select>
 </div>
 <div class="layui-input-inline">
  <select name="implementCondition" id="implementCondition" lay-search>
  <option value="">實(shí)施情況</option>
  </select>
 </div>
 <div class="layui-input-inline">
  <select name="payCondition" id="payCondition" lay-search>
  <option value="">收款情況</option>
  </select>
 </div>

 <div class="layui-inline">
 <input class="layui-input" placeholder="開項(xiàng)時(shí)間" name="startTime" id="startTime">
 </div>
 <div class="layui-inline">
 <input class="layui-input" placeholder="結(jié)項(xiàng)時(shí)間" name="endTime" id="endTime">
 </div>
 <button class="layui-btn" lay-submit="" lay-filter="sreach"><i class="layui-icon">&#xe615;</i></button>
 </form>
</div>

數(shù)據(jù)表格:

<table class="layui-hide" id="projectList" lay-filter="projectList"></table>

三、后臺(tái)接收分頁(yè)參數(shù)以及查詢條件,獲取并返回?cái)?shù)據(jù)

主要注意下:

page: 前臺(tái)分頁(yè)插件傳入的當(dāng)前頁(yè)數(shù),
limit: 前臺(tái)分頁(yè)插件傳入的每頁(yè)個(gè)數(shù),
projectInfo :接收前臺(tái)傳入的查詢條件的實(shí)體
jsonResult :后臺(tái)返回的相關(guān)數(shù)據(jù)的響應(yīng)實(shí)體

@ResponseBody
 @RequestMapping("/project/list")
 public JsonResult list(@RequestParam("page") Integer page, @RequestParam("limit") Integer size, ProjectInfoEntity projectInfo){

 JsonResult jsonResult = projectService.getProjectList(page,size,projectInfo);
 return jsonResult;
 }

后臺(tái)響應(yīng)類必須包含code與count字段,因?yàn)榍芭_(tái)layui會(huì)自動(dòng)獲取

自定義后臺(tái)數(shù)據(jù)響應(yīng)實(shí)體 JsonResult:

package com.bhy702.jfkj.common.util;

/**
 * JSON結(jié)果響應(yīng)
 *
 */
@Data
public class JsonResult {

 private static final String SUCCESS = "成功";
 private static final String ERROR = "失敗";
 
 /**
 * 響應(yīng)狀態(tài)code,因?yàn)榍芭_(tái)layui默認(rèn)0為響應(yīng)成功,所以此處默認(rèn)為0
 */
 private Integer code = 0;

 /**
 * 數(shù)據(jù)總條數(shù)
 */
 private Long count = 0L;

 /**
 * 返回是否成功
 */
 private Boolean result = false;
 
 /**
 * 返回提示信息
 */
 private String msg = "";

 /**
 * 返回?cái)?shù)據(jù)信息
 */
 private Object data;

 private JsonResult() {
 }

 /**
 * 成功的響應(yīng)
 * 
 * @return
 */
 public static JsonResult success() {
 return result(true, SUCCESS, null,null);
 }

 public static JsonResult success(String msg) {
 return result(true, msg, null,null);
 }

 public static JsonResult success(Object data) {
 return result(true, SUCCESS, data,null);
 }
 public static JsonResult success(Object data,Long count) {
 return result(true, SUCCESS, data,count);
 }


 public static JsonResult success(String msg, Object data) {
 return result(true, msg, data,null);
 }

 public static JsonResult success(String msg, Object data,Long count) {
 return result(true, msg, data,count);
 }

 /**
 * 失敗的響應(yīng)
 * 
 * @return
 */
 public static JsonResult error() {
 return result(false, ERROR, null,null);
 }

 public static JsonResult error(String msg) {
 return result(false, msg, null,null);
 }

 public static JsonResult error(Object data) {
 return result(false, ERROR, data,null);
 }

 public static JsonResult error(Object data,Long count) {
 return result(false, ERROR, data,count);
 }

 public static JsonResult error(String msg, Object data) {
 return result(false, msg, data,null);
 }

 public static JsonResult error(String msg, Object data,Long count) {
 return result(false, msg, data,count);
 }

 public static JsonResult result(Boolean result, String msg, Object data,Long count) {
 JsonResult jsonResult = new JsonResult();
 jsonResult.setResult(result);
 jsonResult.setMsg(msg);
 jsonResult.setData(data);
 jsonResult.setCount(count);
 return jsonResult;
 }
}

四、渲染table表格數(shù)據(jù)

主要注意下:

elem: ‘#projectList': projectList為表格id,
page: true: 設(shè)置表格分頁(yè),
url: ‘/project/list' :數(shù)據(jù)請(qǐng)求url
fixed: true:固定列
done : function(res, curr, count){…}:數(shù)據(jù)加載成功后的回調(diào)函數(shù)

var tableIns = table.render({
 elem: '#projectList',
 cellMinWidth: 150,
 url: '/project/list',
 cols: [
 [{
 // type: 'checkbox',fixed: 'left'
  checkbox: true, fixed: true
 }, {
 field: 'id',title: 'ID',align:'center',width:50,fixed: true
 }, {
 field: 'name',title: '項(xiàng)目名稱',align:'center',fixed: true
 }, {
 field: 'businessOperatorStr',title: '經(jīng)辦人',align:'center',fixed: true
 }, {
 field: 'mftRepresentativeStr',title: '廠家代表',align:'center',fixed: true
 }, {
 field: 'channelStr',title: '渠道',align:'center',fixed: true
 }, {
 field: 'customerStr',title: '客戶',align:'center',fixed: true
 }, {
  field: 'projectPhaseStr',title: '項(xiàng)目階段',align:'center',fixed: true
 }, {
 field: 'amount',title: '金額',align:'center'
 }, {
 field: 'businessSource',title: '商機(jī)來(lái)源',align:'center'
 }, {
 field: 'mainProduct',title: '主要產(chǎn)品',align:'center'
 }, {
 field: 'productLineStr',title: '產(chǎn)品線',align:'center'
 }, {
 field: 'goodsConditionStr',title: '貨物情況',align:'center'
 }, {
 field: 'implementConditionStr',title: '實(shí)施情況',align:'center'
 }, {
  field: 'payAmount',title: '已付金額',align:'center'
  }, {
 field: 'payConditionStr',title: '收款情況',align:'center'
 }, {
 field: 'startTime',title: '開項(xiàng)時(shí)間',align:'center'
  }, {
 field: 'endTime',title: '結(jié)項(xiàng)時(shí)間',align:'center'
  }, {
 field: 'remark',title: '備注',align:'center'
 }, {
 field: 'operate',title: '操作',toolbar: '#operateTpl',fixed: 'right',unresize: true
 }]
 ],
 id: 'testReload',
 // skin: 'row', //表格風(fēng)格
 even: true, //隔行背景
 event: true,
 page: true,
 done : function(res, curr, count){
  $('#totalProjectNumber').text("共有數(shù)據(jù):"+count+" 條");
  table_data=res.data;
  layer.closeAll('loading');
  // layer.close(layer.index); //它獲取的始終是最新彈出的某個(gè)層,值是由layer內(nèi)部動(dòng)態(tài)遞增計(jì)算的
  // layer.close(index); //返回?cái)?shù)據(jù)關(guān)閉loading
 }
 });

五、監(jiān)聽搜索表單的提交事件,并重新渲染table表格數(shù)據(jù)

主要注意下:

sreach: 為搜索按鈕的lay-filter=“sreach”,
where 中的數(shù)據(jù)對(duì)應(yīng)搜索表單,為搜索的條件,后臺(tái)使用這些條件進(jìn)行篩選數(shù)據(jù)返回

form.on('submit(sreach)', function(data){

 layer.load();
 tableIns.reload({
 url:"/project/list",
 page: {
  curr: 1 //重新從第 1 頁(yè)開始
  },
 where:{
 name:data.field.projectName,
  businessOperatorId:data.field.businessOperatorId,
 mftRepresentativeId:data.field.mftRepresentativeId,
 channelId:data.field.channelId,
  customerId:data.field.customerId,
  projectPhase:data.field.projectPhase,
  goodsCondition:data.field.goodsCondition,
  implementCondition:data.field.implementCondition,
  payCondition:data.field.payCondition,
  startTime:data.field.startTime,
  endTime:data.field.endTime
 }
 });

 return false; //阻止表單跳轉(zhuǎn)。如果需要表單跳轉(zhuǎn),去掉這段即可。
 });

六、效果展示

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • BootStrapValidator校驗(yàn)方式

    BootStrapValidator校驗(yàn)方式

    做輸入校驗(yàn)的時(shí)候如果你前端框架用的是bootstrap的話,首推bootstrapValidator校驗(yàn)方式,下面通過本文給大家分享下校驗(yàn)流程,一起看看吧
    2016-12-12
  • 原JS實(shí)現(xiàn)banner圖的常用功能

    原JS實(shí)現(xiàn)banner圖的常用功能

    這篇文章主要為大家詳細(xì)介紹了原JS實(shí)現(xiàn)banner圖的常用功能,,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • HTTP?HEAD請(qǐng)求的使用場(chǎng)合實(shí)例詳解

    HTTP?HEAD請(qǐng)求的使用場(chǎng)合實(shí)例詳解

    這篇文章主要為大家介紹了HTTP?HEAD請(qǐng)求的使用場(chǎng)合實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 淺談js中幾種實(shí)用的跨域方法原理詳解

    淺談js中幾種實(shí)用的跨域方法原理詳解

    本篇文章主要介紹了js中幾種實(shí)用的跨域方法原理詳解 ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。
    2016-12-12
  • 寫的htc的數(shù)據(jù)表格

    寫的htc的數(shù)據(jù)表格

    寫的htc的數(shù)據(jù)表格...
    2007-01-01
  • JS數(shù)組方法push()、pop()用法實(shí)例分析

    JS數(shù)組方法push()、pop()用法實(shí)例分析

    這篇文章主要介紹了JS數(shù)組方法push()、pop()用法,結(jié)合實(shí)例形式分析了JavaScript數(shù)組push()與pop()方法基本功能、原理、使用方法與操作注意事項(xiàng),需要的朋友可以參考下
    2020-01-01
  • JavaScript刪除字符串中指定字符的4種方法匯總

    JavaScript刪除字符串中指定字符的4種方法匯總

    在前端面試中,經(jīng)常會(huì)問到這樣的一個(gè)問題,刪除字符串中指定字符,下面這篇文章主要給大家介紹了關(guān)于JavaScript刪除字符串中指定字符的4種方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • highlight.js 代碼高亮插件的使用詳解

    highlight.js 代碼高亮插件的使用詳解

    在網(wǎng)頁(yè)使用過程中,經(jīng)常會(huì)用到代碼的展示。代碼高亮可以直觀的了解代碼,本文主要介紹了highlight.js 代碼高亮插件的使用詳解,具有一定的參考價(jià)值,感興趣的可以了解一下
    2022-01-01
  • 淺析JS運(yùn)動(dòng)

    淺析JS運(yùn)動(dòng)

    這篇文章主要介紹了JS運(yùn)動(dòng)的實(shí)現(xiàn)原理,介紹了JS多種運(yùn)動(dòng)方式,希望大家仔細(xì)學(xué)習(xí),感興趣的小伙伴們可以參考一下
    2015-12-12
  • js判斷鼠標(biāo)左、中、右鍵哪個(gè)被點(diǎn)擊的方法

    js判斷鼠標(biāo)左、中、右鍵哪個(gè)被點(diǎn)擊的方法

    這篇文章主要介紹了js判斷鼠標(biāo)左、中、右鍵哪個(gè)被點(diǎn)擊的方法,主要通過event.button事件來(lái)判斷鼠標(biāo)點(diǎn)擊的類型,需要的朋友可以參考下
    2015-01-01

最新評(píng)論