热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

创建bootstrap的表格(含日期控件)

创建bootstrap的表格(含日期控件)引入准备文件bootstrapcssbootstrap.min.cssbootstrap-datetimepickercssbootstr
创建bootstrap的表格(含日期控件)

引入准备文件

  • bootstrap/css/bootstrap.min.css
  • bootstrap-datetimepicker/css/bootstrap-datepicker.css
  • jQuery/jquery-1.11.3.min.js
  • bootstrap-datetimepicker/js/bootstrap-datepicker.min.js
  • bootstrap-datetimepicker/locales/bootstrap-datepicker.zh-CN.min.js
  • bootstrap/js/bootstrap.min.js
  • bootstrap/snippet/bootloading.js
  • bootstrap-table/bootstrap-table.min.js
  • bootstrap-table/bootstrap-table-zh-CN.min.js

html代码

<div class="myconsult">
<form id="searchForm" class="form-inline clearfix" role="form">
<div class="form-group item">
<label for="name">  预约对象:label>
<input type="text" class="form-control" id="searchName" placeholder="请输入预约对象">
div>
<div class="form-group">
<label for="">  预约时间:label>
<div class="input-group input-medium date-picker input-daterange" data-date-format="yyyy-mm-dd">
<input id="startTime" name="startTime" class="form-control" style="font-size: 13px; width:140px;" type="text" value="" placeholder="开始时间">
<span class="input-group-addon">span>
<input id="endTime" name="endTime" class="form-control" style="font-size: 13px; width:140px;" type="text" value="" placeholder="结束时间">
div>
div>
<div class="form-group">
<label for="">  状态label>
<select class="form-control" id="searchStatus">
<option value="">全部option>
<option value="0">预约成功option>
<option value="1">预约失败option>
select>
div>
<div class="form-group">
<button id="searchBtn" type="button" class="btn btn-primary">查询button>
div>
<div class="form-group">
<button id="resetBtn" type="button" class="btn btn-primary">重置button>
div>
form>
<div class="my_folk">
<table id="tb" border="0" cellspacing="0" cellpadding="0" class="table flok_table">
<thead>
<tr>
<th>序号th>
<th>预约对象th>
<th>预约时间th>
<th>预约地点th>
<th>预约内容th>
<th>状态th>
tr>
thead>
table>
div>
div>

js代码

//加载日期控件
var option = {
language : "zh-CN",
format : 'yyyy-mm-dd',
autoclose : true,// 选中之后自动隐藏日期选择框
clearBtn : true// 清除按钮
}
$('#startTime').datepicker(option);
$('#endTime').datepicker(option);
//加载表格,由于bootstrap的刷新也在这,所以先销毁一下表格在加载表示刷新
$("#tb").bootstrapTable('destroy');
var portalUserInfo=new Object();
if (window.sessionStorage) {
//从缓存获取用户信息
portalUserInfo =JSON.parse(window.sessionStorage.getItem('portalUser'));
}
var userid=portalUserInfo.userId;
var inputSearchName=document.getElementById('searchName');
var inputSearchStatus=document.getElementById('searchStatus');
var inputEndTime=document.getElementById('endTime');
var inputStartTime=document.getElementById('startTime');
var name="";
var status="";
var endTime="";
var startTime="";
if(inputSearchName==null||inputSearchName==""||inputSearchName==undefined){
name="";
}else{
name=document.getElementById('searchName').value;
}
if(inputSearchStatus==null||inputSearchStatus==""||inputSearchStatus==undefined){
status="";
}else{
status=document.getElementById('searchStatus').value;
}
if(inputEndTime==null||inputEndTime==""||inputEndTime==undefined){
endTime="";
}else{
endTime=document.getElementById('endTime').value;
}
if(inputStartTime==null||inputStartTime==""||inputStartTime==undefined){
startTime="";
}else{
startTime=document.getElementById('startTime').value;
}
//正式加载表格
$("#tb").bootstrapTable({
toggle: "tb",
url: "../../jhtx/getRemindOrders.do",
pagination: "true",
pageSize: 10,
pageList: [10,20],
showHeader :true,
striped :true,//是否显示行间隔色
cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
sidePagination: "server",//表示后台分页(分页方式:client客户端分页,server服务端分页(*))
paginationPreText: "上一页",
paginationNextText: "下一页",
queryParamsType : "limit",
//参数
queryParams: function (params) {
return {
limit:params.limit,
offset:params.offset,
startTime:startTime,
endTime:endTime,
userid:userid,
name:name,
status:status
};
},
columns: [{
field: 'Number',
title: '序号',
width: '30',
align: 'center',
formatter: function (value, row, index) {
return index+1;
}
},{
field: 'name',
title: '预约对象',
width: '50',
align: 'center'
},{
field: 'serviceTime',
title: '预约时间',
width: '60',
align: 'center'
},{
field: 'orgName',
title: '预约地点',
width: '60',
align: 'center'
},{
field: 'serviceTypeName',
title: '预约内容',
width: '60',
align: 'center'
},{
field: 'orderStatus',
title: '状态',
width: '30',
align: 'center',
formatter:function(value, row, index){
var status = "未知状态";
if (value == "0") {
status="预约成功";
}else if(value=="1"){
status="预约失败";
}else{
status="未知状态";
}
return status;
}
}]
});

contorller代码

这里的重点就在它获取的参数limit,offset是已经计算好的,而不是想esayUI只获取到第几页(page),页的数据量(pageSize);
返回的数据倒是跟esayUI相同 :total–符合条件的总数据量,rows:本次查到的数据;

@RequestMapping ("/getRemindOrders")
@ResponseBody
public String getRemindOrders (HttpServletResponse response, HttpServletRequest request{
// 参数容器
Map <String, Object> paraMap = new HashMap <String, Object> ();
// 返回数据的容器
Map <String, Object> resultMap = new HashMap <String, Object> ();
UserFamily userFamily = new UserFamily ();
RemindOrder remindOrder = new RemindOrder ();
Long userid = 0L;
// 获得用户id
String useridStr = request.getParameter ("userid");
if (!StringUtils.isBlank (useridStr))
{
userid = Long.parseLong (useridStr);
}
// 模拟数据,在获取分页参数失败的情况下代替
int limit = 10;
int offset = 0;
try
{
if (!StringUtils.isBlank (request.getParameter ("offset")))
{
// 开始
offset = Integer.parseInt (request.getParameter ("offset")) + 1;
}
if (!StringUtils.isBlank (request.getParameter ("limit")))
{
// 结束
limit = offset + Integer.parseInt (request.getParameter ("limit")) - 1;
}
String name = request.getParameter ("name");
String status = request.getParameter ("status");
// 搜索开始时间
String start = request.getParameter ("startTime");
// 搜索结束时间
String end = request.getParameter ("endTime");
// 查询我的家人
if (StringUtils.isNotEmpty (useridStr))
{
userFamily.setUserId (userid);
// 查询认证过的家属相关信息
userFamily.setIsRealAuth ("1");
}
UserDto user = (UserDto) request.getSession ().getAttribute (LoginConstants.LOGIN_USER);
String identification = user.getPortalUserInfo ().getIdentification ();
// 获取家人的相关信息
List <UserFamily> userFamilyList = userFamilyService.queryUserFimalyByPage (userFamily, 0, -1);
// 添加自己
userFamily.setIdentification (identification);
userFamilyList.add (userFamily);
// 设置查询参数
remindOrder.setName (name != null ? name : "");
remindOrder.setOrderStatus (status != null ? status : "");
remindOrder.setStartTime (start != null ? start : "");
remindOrder.setEndTime (end != null ? end : "");
paraMap.put ("startNumber", offset);
paraMap.put ("endNumber", limit);
paraMap.put ("allFamily", userFamilyList);
paraMap.put ("remindOrder", remindOrder);
List <RemindOrder> list = null;
int count = 0;
count = remindOrderService.findRemindCountOfFamily (paraMap);
if (count != 0)
{
list = remindOrderService.findRemindByConditionOfFamilyWithPage (paraMap);
}
resultMap.put ("rows", list);
resultMap.put ("total", count);
}
catch (Exception e)
{
_logger.error ("查询数据失败!", e);
resultMap.put ("rows", null);
resultMap.put ("total", 0);
}
JsonConfig config = new JsonConfig ();
config.registerJsonValueProcessor (Date.class, new JsonDateValueProcessor ("yyyy-MM-dd HH:mm:ss"));
return JSONObject.fromObject (resultMap, config).toString ();
}

效果图

这里说一下:如果数据根本不需要第二页时,这里的分页器是不显示的.
《创建bootstrap的表格(含日期控件)》
《创建bootstrap的表格(含日期控件)》


推荐阅读
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • 网址:https:vue.docschina.orgv2guideforms.html表单input绑定基础用法可以通过使用v-model指令,在 ... [详细]
  • HTML5网页模板怎么加百度统计?
    本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ... [详细]
  • 我用Tkinter制作了一个图形用户界面,有两个主按钮:“开始”和“停止”。请您就如何使用“停止”按钮终止“开始”按钮为以下代码调用的已运行功能提供建议 ... [详细]
author-avatar
冷尔岚钰_820
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有