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

前言

      最近小编接触的项目中,统一采用扁平化的流行风格,前台使用的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
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 23
    评论
Bootstrap Table 插件本身并没有提供日期控件,但可以与其他日期控件库集成来实现日期控件的功能。下面介绍两个常用的日期控件库。 1. Bootstrap Datepicker Bootstrap Datepicker 是一个基于 Bootstrap 的日期控件库,支持多种日期格式、多语言、自定义按钮等功能。它可以与 Bootstrap Table 集成,实现在表格中添加日期控件的功能。 集成步骤: - 引入 BootstrapBootstrap Datepicker 的 CSS 和 JavaScript 文件。 - 创建一个文本框或者输入框来作为日期控件的容器。 - 使用 `datepicker()` 方法来初始化日期控件,传入需要的参数。 示例代码: ```html <!-- 引入 BootstrapBootstrap Datepicker 的 CSS 和 JavaScript 文件 --> <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css"> <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/bootstrap-datepicker/1.9.0/css/bootstrap-datepicker.min.css"> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.min.js"></script> <!-- 创建日期控件的容器 --> <input type="text" class="datepicker"> <!-- 使用 datepicker() 方法初始化日期控件 --> <script> $('.datepicker').datepicker({ format: 'yyyy-mm-dd', autoclose: true }); </script> ``` 2. Tempus Dominus Tempus Dominus 是一个功能强大的日期控件库,支持多种日期格式、多语言、自定义主题等功能。它也可以与 Bootstrap Table 集成,实现在表格中添加日期控件的功能。 集成步骤: - 引入 Bootstrap 和 Tempus Dominus 的 CSS 和 JavaScript 文件。 - 创建一个文本框或者输入框来作为日期控件的容器。 - 使用 `datetimepicker()` 方法来初始化日期控件,传入需要的参数。 示例代码: ```html <!-- 引入 Bootstrap 和 Tempus Dominus 的 CSS 和 JavaScript 文件 --> <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css"> <link href="https://cdn.bootcdn.net/ajax/libs/tempusdominus-bootstrap-4/5.3.1/css/tempusdominus-bootstrap-4.min.css" rel="stylesheet" /> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.29.1/moment.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/tempusdominus-bootstrap-4/5.3.1/js/tempusdominus-bootstrap-4.min.js"></script> <!-- 创建日期控件的容器 --> <input type="text" class="datetimepicker"> <!-- 使用 datetimepicker() 方法初始化日期控件 --> <script> $('.datetimepicker').datetimepicker({ format: 'YYYY-MM-DD', useCurrent: false }); </script> ``` 以上两个日期控件库都可以与 Bootstrap Table 集成,实现在表格中添加日期控件的功能。具体使用哪一个控件库,取决于个人喜好和项目需求。
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑的大白啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值