bootstrap table分页模板和获取表中的ID方法


Posted in Javascript onJanuary 10, 2017

1.dao层

   MyBatis映射

   mapper.xml中

<select id="getTcdt" parameterType="com.ls.entity.Mydata" resultMap="BaseResultMap">
  select * from TB_COMMUNICATION_DEVICE_TBL ORDER BY ${ordername} ${order}
 </select>

   mapper.java中

public List<Tb_communication_device_tbl> getTcdt(Mydata data);//分页查询

2.业务层service

/**
  * 实现分页显示
  */
  @Override
  public JSONObject getTcdt(Mydata data) {
    // TODO Auto-generated method stub
    JSONObject result=null;
    List<Tb_communication_device_tbl> md=tbdao.getTcdt(data);
    List<Tb_communication_device_tbl> resultList = new ArrayList<Tb_communication_device_tbl>() ;
    //判断前台页面传回的值是不是空不是进行条件模糊查询
        if(null!=data.getStationNr() && !data.getStationNr().trim().equals("")||data.getWellDbk()!=null&&data.getWellDbk().trim().equals("")){
      for(Tb_communication_device_tbl user :md){
        if(user.getStationNr().indexOf(data.getStationNr()) >= 0){
          resultList.add(user);
        }
      }
    }else{
      resultList = md;
    }
    //获取分页数据
    int pageNumber = null!=data.getDangqian() ? Integer.parseInt(data.getDangqian()) : 0;
    int pageSize = null!=data.getFrist() ? Integer.parseInt(data.getFrist()) : 10;
    int start = (pageNumber) * pageSize;//计算开始记录数
    int end = start+pageSize;//计算结束记录数
    md= new ArrayList<Tb_communication_device_tbl>() ;
    for(int i=start;i<end && i<resultList.size();i++){
      Tb_communication_device_tbl e=resultList.get(i);
     md.add(e);
         }
    int total=0;
    //存储值map中
    Map<String, Object> map=new HashMap<String, Object>();
    SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
      //实现数据类型转换主要是日期类型转换成字符串
            List<Mydate> list=new ArrayList<>(); 
      for (int i = 0; i < md.size(); i++) {
        Mydate my=new Mydate();
        my.setAlarmVoltage(md.get(i).getAlarmVoltage());
        my.setBatteryElectricQty(md.get(i).getBatteryElectricQty());
        my.setInstallDate(sf.format(md.get(i).getInstallDate()));
        //my(md.get(i)));
        my.setDeviceClass((md.get(i).getDeviceClass()));
        my.setLevelElevationAlarm((md.get(i).getLevelElevationAlarm()));
        my.setNewWellDbk(md.get(i).getNewWellDbk());
        my.setOperationDate(sf.format(md.get(i).getOperationDate()));
        my.setReadoutFrequency(md.get(i).getReadoutFrequency());
        my.setRemark(md.get(i).getRemark());
        my.setReturenValueBln(md.get(i).getReturenValueBln());
        /*my.setSendingcycle(md.get(i).getSendingcycle());
        my.setSendingstarttime(md.get(i).getSendingstarttime());*/
        my.setShowingBln(md.get(i).getShowingBln());
        my.setSignalAlarm(md.get(i).getSignalAlarm());
        my.setSimcardNr(md.get(i).getSimcardNr());
        my.setStationNr(md.get(i).getStationNr());
        my.setTransmittingFrequency(md.get(i).getTransmittingFrequency());
        my.setUserId(md.get(i).getUserId());
        my.setWaterTemperatureAlarm(md.get(i).getWaterTemperatureAlarm());
        my.setWellDbk(md.get(i).getWellDbk());
        my.setWorkingStatus(md.get(i).getWorkingStatus());
        list.add(my);
      }
      map.put("total", resultList.size());
      map.put("rows", list);
      //存入返回值中
      result=JSONObject.fromObject(map);
    return result;
  }

3.action层        

public String execute(){
      String pageNO=null;
      String pageSize=null;
      if(offset==null||limit==null){
       pageNO ="0";
       pageSize="10";
      }else{
         pageNO =offset;
         pageSize=limit;
      }
        //给对象赋值
        Mydata data=new Mydata();
      data.setDangqian(pageNO);
      data.setFrist(pageSize);
      //System.out.println(wells);
      data.setStationNr(departmentname);
      data.setWellDbk(wells);
      data.setOrder(order);
      //点击列头获取属性因为属性和数据库列名不一样所以排序要进行修改列名
      if(ordername==null){
        data.setOrdername("STATION_NR");
        }
      if(ordername!=null){
      if(ordername.equals("deviceClass")){
        data.setOrdername("DEVICE_CLASS");
      }
      if(ordername.equals("stationNr")){
        data.setOrdername("STATION_NR");
      }
      if(ordername.equals("batteryElectricQty")){
        data.setOrdername("BATTERY_ELECTRIC_QTY");
      }
      if(ordername.equals("simcardNr")){
        data.setOrdername("SIMCARD_NR");
      }
      if(ordername.equals("wellDbk")){
        data.setOrdername("WELL_DBK");
      }
      if(ordername.equals("installDate")){
        data.setOrdername("INSTALL_DATE");
      }
      }
    result=tb_communication_device_tblservice.getTcdt(data);
    list=tB_MONITOR_WELL_TBLservice.getTmwt();//获取外键的值
    Map<String, Object> map=ActionContext.getContext().getSession();
    map.put("list", list);//
    map.put("offset2", offset);
    map.put("limit1", limit);
    return SUCCESS;
  }

js文件

var TableInit = function () {
      var oTableInit = new Object();
      var stationNr=null;
      var stationNr2=null;
      var arr=new Array();
      var arr1=new Array();
      //定义查询方法
      Array.prototype.indexOf = function(val) {
         for (var i = 0; i < this.length; i++) {
           if (this[i] == val) return i;
         }
         return -1;
       };
       Array.prototype.remove = function(val) {
         var index = this.indexOf(val);
         if (index > -1) {
           this.splice(index, 1);
         }
       };
      //初始化Table
      oTableInit.Init = function () {
        $('#tb_departments').bootstrapTable({
           url: 'tcdtaction', //请求后台的URL(*)
           method: 'get', //请求方式(*)
           toolbar: '#toolbar', //工具按钮用哪个容器
           striped: false, //是否显示行间隔色
           cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
           pagination: true, //是否显示分页(*)
           sortable: true, //是否启用排序
           sortOrder: "asc", //排序方式
           queryParams: oTableInit.queryParams, //传递参数(*)
           sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
           pageNumber: 1, //初始化加载第一页,默认第一页
           pageSize: 10, //每页的记录行数(*)
           pageList: [10, 25, 50, 100], //可供选择的每页的行数(*)
           search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
           strictSearch: false,//设置为 true启用 全匹配搜索,否则为模糊搜索
           // showExport表示是否显示导出的按钮,exportDataType表示导出的模式是当前页、所有数据还是选中数据。
           sortable:true,//设置为false 将禁止所有列的排序
           searchOnEnterKey:true,//设置为 true时,按回车触发搜索方法,否则自动触发搜索方法
           showColumns: true, //是否显示所有的列
           showRefresh: true, //是否显示刷新按钮
           showExport: true,//是否显示导出
           showpaginationswitch:true,//是否显示 数据条数选择框
           minimumCountColumns: 2, //最少允许的列数
           clickToSelect: true, //是否启用点击选中行
           height: 532, //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
           uniqueId: "id", //每一行的唯一标识,一般为主键列
           showToggle: true, //是否显示详细视图和列表视图的切换按钮
           cardView: false, //是否显示详细视图
           detailView: true, //是否显示父子表
           exportTypes: ['csv','txt','xml'],
           exportDataType: "basic", 
           columns: [{
             align: "center",
             checkbox: true
           }, 
           {
             field: 'stationNr',
             title: '站号',
             align: "center",
             sortable: true,
             editable: true
           }, {
             field: 'deviceClass',
             title: '通讯设备类型',
             align: "center",
             sortable: true,
             editable: true
           }, {
             field: 'batteryElectricQty',
             title: '电池电量',
             align: "center",
             sortable: true,
             editable: true
           }, 
           {
             field: 'simcardNr',
             title: 'SIM卡号',
             align: "center",
             sortable: true,
             editable: true
           },
           {
             field: 'wellDbk',
             title: '统一编号',
             sortable: true,
             align: "center",
             editable: true
           },
           {
             field: 'installDate',
             title: '安装日期',
             sortable: true,
             align: "center",
             editable: true
           },
           {
             field: 'operate',
             title: '操作',
             sortable: true,
             align: "center",
             editable: true,
             formatter:function(value,row,index){ 
               var e = '<a  onclick="edit(\''+ row.stationNr + '\')">查看详情</a> '; 
                  return e; 
                }
           },
           ],
           onCheckAll:function(rows){//全选中
             var arr2=new Array();
             var arr3=new Array();
             arr2=$("#tb_departments").bootstrapTable('getSelections');
             for (var i = 0; i < arr2.length; i++) {
               arr3=arr2[i]
               for(var s in arr3)
                arr.push(arr3.stationNr);//添加数值到数组\
              }
             var n = []; //一个新的临时数组
              for(var h = 0; h < arr.length; h++) //遍历当前数组
              {
                //如果当前数组的第i已经保存进了临时数组,那么跳过,
                //否则把当前项push到临时数组里面
                if (n.indexOf(arr[h]) == -1){
                  n.push(arr[h]);
              }
              }
              arr=n
           document.getElementById("ddd").value=arr; 
           },
           onUncheckAll:function(rows){//全选不中
             arr=[];//清空数组
             document.getElementById("ddd").value=arr; 
           },
           onUncheck:function(row){//不选中
             stationNr2=row.stationNr; //取出id
             arr.remove(stationNr2);
             document.getElementById("ddd").value=arr; 
           },
           onCheck:function(row){//选中
             //alert("2")
             stationNr2=row.stationNr; //取出id
             arr.push(stationNr2);//添加数值到数组\
             //去除重复元素
              var s = arr.join(",")+","; 
             for(var i=0;i<arr.length;i++) { 
             if(s.replace(arr[i]+",","").indexOf(arr[i]+",")>-1) { 
              arr.remove(arr[i]);
              document.getElementById("ddd").value=arr; 
              break; 
             } 
             }
             document.getElementById("ddd").value=arr; 
           },
           onClickRow:function(row,$element){
             $('.success').removeClass('success');
             $($element).addClass('success');
              stationNr2=row.stationNr; 
              arr.push(stationNr2);//添加数值到数组
              //定义查询方法
               Array.prototype.indexOf = function(val) {
                  for (var i = 0; i < this.length; i++) {
                    if (this[i] == val) return i;
                  }
                  return -1;
                };
                Array.prototype.remove = function(val) {
                  var index = this.indexOf(val);
                  if (index > -1) {
                    this.splice(index, 1);
                  }
                };
               //去除重复元素
                var s = arr.join(",")+","; 
               for(var i=0;i<arr.length;i++) { 
               if(s.replace(arr[i]+",","").indexOf(arr[i]+",")>-1) { 
                arr.remove(arr[i]);
                document.getElementById("ddd").value=arr; 
                break; 
               } 
               }   
              document.getElementById("ddd").value=arr; 
           }
         });
       };
      //得到查询的参数
      oTableInit.queryParams = function (params) {
        var temp = { //这里的键的名字和控制器的变量名必须一直,这边改动,action也需要改成一样的
          limit: params.limit, //页面大小
          offset: params.offset, //页码
          order: params.order,
          ordername: params.sort,//返回排序列名
          //pageSize: params.pageSize,   //页面大小
          //pageNumber: params.pageNumber,  //页码  
          departmentname: $("#departmentname").val(),//返回查询条件
          wells: $("#wells").val(),
        };
        return temp;
      };
      return oTableInit;
    };
    var ButtonInit = function () {
      var oInit = new Object();
      var postdata = {};
      oInit.Init = function () {
        //初始化页面上面的按钮事件
      };
      return oInit;
    };

以上所述是小编给大家介绍的bootstrap table分页模板和获取表中的ID,对Get请求无效的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
学习YUI.Ext 第三天
Mar 10 Javascript
javascript 限制输入和粘贴(IE,firefox测试通过)
Nov 14 Javascript
30个最好的jQuery 灯箱插件分享
Apr 25 Javascript
javascript中的delete使用详解
Apr 11 Javascript
javascript禁用键盘功能键让右击及其他键无效
Oct 09 Javascript
javascript实现当前页导航激活的方法
Feb 27 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
Jun 16 Javascript
JS字符串false转boolean的方法(推荐)
Mar 08 Javascript
vue-cli 默认路由再子路由选中下的选中状态问题及解决代码
Sep 06 Javascript
ES6入门教程之let、const的使用方法
Apr 13 Javascript
VUE实现强制渲染,强制更新
Oct 29 Javascript
基于脚手架创建Vue项目实现步骤详解
Aug 03 Javascript
React实现点击删除列表中对应项
Jan 10 #Javascript
微信小程序 radio单选框组件详解及实例代码
Jan 10 #Javascript
微信小程序 slider 详解及实例代码
Jan 10 #Javascript
微信小程序 switch组件详解及简单实例
Jan 10 #Javascript
微信小程序 textarea 组件详解及简单实例
Jan 10 #Javascript
微信小程序 picker-view 组件详解及简单实例
Jan 10 #Javascript
微信小程序 picker 组件详解及简单实例
Jan 10 #Javascript
You might like
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
PHP也可以?成Shell Script
2006/10/09 PHP
一些被忽视的PHP函数(简单整理)
2010/04/30 PHP
php 伪静态之IIS篇
2014/06/02 PHP
学习php中的正则表达式
2014/08/17 PHP
Yii2中OAuth扩展及QQ互联登录实现方法
2016/05/16 PHP
Yii框架函数简单用法分析
2019/09/09 PHP
jQuery EasyUI API 中文文档 - Spinner微调器使用
2011/10/21 Javascript
JS+ACTIVEX实现网页选择本地目录路径对话框
2013/03/18 Javascript
整理的比较全的event对像在ie与firefox浏览器中的区别
2013/11/25 Javascript
Bootstrap表单使用方法详解
2017/02/17 Javascript
AngularJS中使用ngModal模态框实例
2017/05/27 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
微信小程序实现默认第一个选中变色效果
2018/07/17 Javascript
微信小程序实现顶部导航特效
2019/01/28 Javascript
详解es6新增数组方法简便了哪些操作
2019/05/09 Javascript
JavaScript设计模式--简单工厂模式实例分析【XHR工厂案例】
2020/05/23 Javascript
[01:23]2014DOTA2国际邀请赛 球迷无处不在Ti现场世界杯受关注
2014/07/10 DOTA
[01:33:30]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第二场 2月5日
2021/03/11 DOTA
Python程序员开发中常犯的10个错误
2014/07/07 Python
Python用threading实现多线程详解
2017/02/03 Python
新手常见6种的python报错及解决方法
2018/03/09 Python
从django的中间件直接返回请求的方法
2018/05/30 Python
在vscode中配置python环境过程解析
2019/09/28 Python
浅谈tensorflow模型保存为pb的各种姿势
2020/05/25 Python
Django通过json格式收集主机信息
2020/05/29 Python
详解python3 GUI刷屏器(附源码)
2021/02/18 Python
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
HUGO BOSS美国官方网上商店:世界知名奢侈品牌
2017/08/04 全球购物
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
高中自我评价分享
2013/12/05 职场文书
韩国商务邀请函
2014/01/14 职场文书
主持人演讲稿
2014/05/13 职场文书
2015人事行政工作总结范文
2015/05/21 职场文书
安全生产会议制度
2015/08/06 职场文书
2019商业计划书格式、范文
2019/04/24 职场文书