【Bootstrap】—table控件的传参取值

xiaoxiao2021-02-27  141

前言

      最近小编接触的项目中,统一采用扁平化的流行风格,前台使用的Bootstrap框架,相对于EasyUI绑定数据的时候有点复杂,在Table控件传值的时候就卡住了,Bootstrap第一次了解,总结一下它的使用套路。

需求描述

      查询一段时间间隔内的数据,需要获取页面上两个日期控件上的日期值传递到Controller的方法中做进一步的逻辑处理。

代码详解

1. 在cshtml页面引用相关组件,并定义一个空的表格       

@*bootstrap table组件以及中文包的引用*@  <script src="~/Content/bootstrap-table/bootstrap-table.js"></script>  <link href="~/Content/bootstrap-table/bootstrap-table.css" rel="stylesheet" />  <script src="~/Content/bootstrap-table/locale/bootstrap-table-zh-CN.js"></script> @*定义一个空的table*@ <table id="table"></table> 

2. Js初始化  

$(function () {    //初始化Table  var oTable = new TableInit();  oTable.Init(); });   var TableInit = function () {  var oTableInit = new Object();  //初始化Table  oTableInit.Init = function () {  $('#table').bootstrapTable({  url: '/ConfluenceSurvey/Query', //请求后台的URL(*)  method: 'get', //请求方式(*)  toolbar: '#toolbar', //工具按钮用哪个容器  striped: true, //是否显示行间隔色  cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)  pagination: true, //是否显示分页(*)  sortable: false, //是否启用排序  sortOrder: "asc", //排序方式  queryParams: oTableInit.queryParams,//传递参数(*)  sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*)  pageNumber:1, //初始化加载第一页,默认第一页  pageSize: 10, //每页的记录行数(*)  pageList: [10, 25, 50, 100], //可供选择的每页的行数(*)  search: true, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大  strictSearch: true,  showColumns: true, //是否显示所有的列  showRefresh: true, //是否显示刷新按钮  minimumCountColumns: 2, //最少允许的列数  clickToSelect: true, //是否启用点击选中行  height: 500, //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度  uniqueId: "ID", //每一行的唯一标识,一般为主键列  showToggle:true, //是否显示详细视图和列表视图的切换按钮  cardView: false, //是否显示详细视图  detailView: false, //是否显示父子表  columns: [{  checkbox: true  }, {  field: 'date',  title: '日期'  }, {  field: 'daycoin',  title: '每日小计'  }, {  field: 'totalcoin',  title: '到此日的积分'   } ]  });  };    //得到查询的参数  oTableInit.queryParams = function (params) {  var temp = { //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的  limit: params.limit, //页面大小  offset: params.offset, //页码 startdate: $("#startdate").val(),  enddate: $("#enddate").val()  };  return temp;  };  return oTableInit; };

注:初始化Table必须的几个参数小编用(*)做了标记。

3. 在Controller中对应的方法

     按照正常的方法传参接收就可以了,此处代码省略

4. 效果

    

重点突破-传参取值

1.Table组件中定义传参属性

queryParams: oTableInit.queryParams,//传递参数(*)

2. 定义具体传参方法

//得到查询的参数 oTableInit.queryParams = function (params) { var temp = { //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的 limit: params.limit, //页面大小 offset: params.offset, //页码 startdate: $("#startdate").val(), enddate: $("#enddate").val() }; return temp; }; return oTableInit; };

总结

     不怕不知道,就怕不知道,有需求就一定可以实现。     

转载请注明原文地址: https://www.6miu.com/read-13293.html

最新回复(0)