国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > AJAX > 正文

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

2024-09-01 08:34:01
字體:
供稿:網(wǎng)友

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

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

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

二、html頁面代碼

搜索表單:

 

<div class="layui-row"> <form class="layui-form layui-col-md12 we-search"> 項目搜索: <div class="layui-inline">  <input type="text" name="projectName" id="projectName" placeholder="項目名稱" 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="">項目階段</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="">實施情況</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="開項時間" name="startTime" id="startTime"> </div> <div class="layui-inline">  <input class="layui-input" placeholder="結(jié)項時間" name="endTime" id="endTime"> </div> <button class="layui-btn" lay-submit="" lay-filter="sreach"><i class="layui-icon"></i></button> </form></div>

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

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

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

主要注意下:

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

@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;  }

后臺響應(yīng)類必須包含code與count字段,因為前臺layui會自動獲取

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

 

package com.bhy702.jfkj.common.util;/** * JSON結(jié)果響應(yīng) * */@Datapublic class JsonResult {  private static final String SUCCESS = "成功";  private static final String ERROR = "失敗";    /**   * 響應(yīng)狀態(tài)code,因為前臺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 = "";  /**   * 返回數(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è)置表格分頁,
url: ‘/project/list' :數(shù)據(jù)請求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: '項目名稱',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: '項目階段',align:'center',fixed: true  }, {  field: 'amount',title: '金額',align:'center'  }, {  field: 'businessSource',title: '商機(jī)來源',align:'center'  }, {   field: 'mainProduct',title: '主要產(chǎn)品',align:'center'  }, {   field: 'productLineStr',title: '產(chǎn)品線',align:'center'  }, {   field: 'goodsConditionStr',title: '貨物情況',align:'center'  }, {   field: 'implementConditionStr',title: '實施情況',align:'center'  }, {        field: 'payAmount',title: '已付金額',align:'center'      }, {   field: 'payConditionStr',title: '收款情況',align:'center'  }, {   field: 'startTime',title: '開項時間',align:'center'      }, {   field: 'endTime',title: '結(jié)項時間',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); //它獲取的始終是最新彈出的某個層,值是由layer內(nèi)部動態(tài)遞增計算的      // layer.close(index);  //返回數(shù)據(jù)關(guān)閉loading    } });

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

主要注意下:

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

form.on('submit(sreach)', function(data){   layer.load();    tableIns.reload({  url:"/project/list",  page: {        curr: 1 //重新從第 1 頁開始      },  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),去掉這段即可。  });

六、效果展示

layui,數(shù)據(jù)表格,table,分頁,ajax

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 色达县| 榆树市| 乡城县| 西青区| 丹凤县| 枞阳县| 新和县| 庐江县| 台南市| 玉林市| 和硕县| 肇州县| 浮梁县| 日照市| 阳西县| 柘荣县| 大安市| 永春县| 图们市| 历史| 福泉市| 衢州市| 于田县| 宜章县| 永和县| 通江县| 绵竹市| 青龙| 尤溪县| 翁牛特旗| 贡嘎县| 海口市| 德兴市| 庆城县| 太白县| 民县| 兴文县| 图片| 建宁县| 舒兰市| 柞水县|