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

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请求无效的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • bootstrap Table服务端处理分页(后台是.net)

    本文实例为大家分享了bootstrap Table服务端处理分页的具体代码,供大家参考,具体内容如下 要考虑函数可被可重复使用(调用),需要将可变化的变为参数封装起来 function HQCreatTables(ob) { var option = { method: 'get', dataType: "json", striped: true,//设置为 true 会有隔行变色效果 undefinedText: "空",//当数据为 undefined 时显示的

  • BootStrap中的table实现数据填充与分页应用小结

    BootStrap table 是一个轻量级的table插件,使用AJAX获取JSON格式的数据,其分页和数据填充很方便,支持国际化.最近后台使用此插件做了一个表格应用,做个总结. 1.使用方法 可以通过又拍云提供的CDN获取js插件,样式表和国际化插件,或者直接去官网下载.将下面的js插件和样式放到html head 头里即可使用. //样式 <link href="http://cdn.bootcss.com/bootstrap-table/1.9.1/bootstrap-table.

  • bootstrap table 服务器端分页例子分享

    1,前台引入所需的js 可以从官网上下载 复制代码 代码如下: function getTab(){ var url = contextPath+'/fundRetreatVoucher/fundBatchRetreatVoucherQuery.htm'; $('#tab').bootstrapTable({ method: 'get', //这里要设置为get,不知道为什么 设置post获取不了 url: url, cache: false, height: 400, striped: tru

  • 第一次动手实现bootstrap table分页效果

    先上图吧,这就是bootstrap table分页效果图 上代码(这一部分是工具栏的,还包括slider滑动条) <div class="box-body"> <div class="row"> <div class="form-group col-xs-3" style="width: 432px;"> <label for="SendUser" class=&q

  • BootStrap中Table分页插件使用详解

    分页(Pagination),是一种无序列表,Bootstrap 像处理其他界面元素一样处理分页. bootstrap-table介绍 bootstrap-table 是一个轻量级的table插件,使用AJAX获取JSON格式的数据,其分页和数据填充很方便,支持国际化. 下载地址 https://github.com/wenzhixin/bootstrap-table/archive/1.11.0.zip 使用方式 引入css和js <!--css样式--> <link href=&qu

  • 解决JS组件bootstrap table分页实现过程中遇到的问题

    本文为大家分享了bootstrap-table 分页的问题,供大家参考,具体内容如下 问题1 :服务器端取不到form值,querystring没有问题,但是request.form取不到值 解决:这是ajax的问题,原代码使用原生的ajax.   1可以用读流文件解决.2 如果想用request.form 方式,设置  contentType: "application/x-www-form-urlencoded", 如 $('#tableList').bootstrapTable(

  • Bootstrap Table服务器分页与在线编辑应用总结

    先看Bootstrap Table应用效果: 表格用来显示数据库中的数据,数据通过AJAX从服务器加载,同时分页功能有服务器实现,避免客户端分页,在加载大量数据时造成的用户体验不好.还可以设置查询数据的起止时间,查询一定时间范围的数据.在线编辑功能通过扩展Bootstrap Table实现,使用X-editable实现. Bootstrap Table有两种使用方式: 1.对普通的 table 设置 data 属性: 2.通过JavaScript 来启用 Bootstrap Table 插件.

  • 基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询

    前言 基于SpringMVC+Bootstrap+DataTables实现数据表格服务端分页.模糊查询(非DataTables Search),页面异步刷新. 说明:sp:message标签是使用了SpringMVC国际化 效果 DataTable表格 关键字查询 自定义关键字查询,非DataTable Search 代码 HTML代码 查询条件代码 <!-- 查询.添加.批量删除.导出.刷新 --> <div class="row-fluid"> <di

  • Bootstrap table两种分页示例

    Bootstrap table服务器端分页和客户端分页,供大家参考,具体内容如下 服务器端分页 注意服务器端数据的返回的格式 [json]必须包含:total节点(总记录数),rows节点(分页后数据) 即:{"total":24,"rows":[-]} $('#test-table').bootstrapTable({ //请求方法 method: 'get', //是否显示行间隔色 striped: true, //是否使用缓存,默认为true,所以一般情况下需

  • Bootstrap table分页问题汇总

    首先非常感谢作者针对bootstrap table分页问题进行详细的整理,并分享给了大家,希望通过这篇文章可以帮助大家解决Bootstrap table分页的各种问题,谢谢大家的阅读. 问题1 :服务器端取不到form值,querystring没有问题, 但是request.form取不到值 解决:这是ajax的问题,原代码使用原生的ajax.   1可以用读流文件解决.2 如果想用request.form 方式,设置  contentType: "application/x-www-form-

随机推荐