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

前言

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

需求描述

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

代码详解

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

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

总结

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

你可能感兴趣的:(【前端】)