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

来源:互联网 发布:洗车器价格及图片淘宝 编辑:程序博客网 时间:2024/06/07 08:20

前言

      最近小编接触的项目中,统一采用扁平化的流行风格,前台使用的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;};

总结

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

0 0
原创粉丝点击