bootstrap-table表格实现

方式一:jquery+bootstrap

不足:分页能力不行

 效果:

<!DOCTYPE html>
<html lang="en"
      xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>商品列表</title>
    <script type="text/javascript" th:src="@{/js/jquery/jquery-3.3.1.min.js}"></script>
    <link rel="stylesheet" type="text/css" th:href="@{/bootstrap/bootstrap-3.3.7/css/bootstrap.css}">
    <link rel="stylesheet" type="text/css" th:href="@{/css/common.css}">
    <script type="text/javascript" th:src="@{/bootstrap/bootstrap-3.3.7/js/bootstrap.js}"></script>
</head>
<body>
<div class="block-title">秒杀商品列表</div>
<div class="panel panel-default"  style="margin: 10px;">
<!--    带边框的表格 class="table table-bordered"-->
    <table class="table table-bordered " id="goodsList">
           <tr>
              <th>ID</th>
              <th>姓名</th>
              <th>年龄</th>
              <th>操作栏</th>
           </tr>
        <tr th:each="item : ${dataList}">
                 <td th:text="${item.id}" ></td>
                 <td th:text="${item.name}"></td>
                 <td th:text="${item.age}"></td>
                 <td><a th:href="'/goods/toDetail/'+${item.id}">详情</a> </td>
        </tr>
    </table>
</div>

</body>
</html>

common.css

.market-block-title{
    font-size: 16px;
    text-shadow: rgb(0, 0, 0, 15%) 0 0 1px;
    padding-left: 5px;
    margin: .8rem .6rem;
    border-left: 3px solid #39b6e5;
}
.block-title {
    font-size: 20px;
    margin-bottom: 10px;
    clear: both;
    margin-top: 30px;
    border-left: 5px solid #20a0ff;
    padding-left: 5px;
    padding-bottom: 10px;
}

th{
    /*background-color: #EEF1F6 !important;*/
    background-color:  #EEF1F6  !important;;
    text-align: center;
}
td{
    text-align: center;
}

/*分页总条数*/
.el-pagination__total {
    display: inline-block;
    font-size: 13px;
    min-width: 28px;
    height: 28px;
    line-height: 28px;
    vertical-align: top;
    box-sizing: border-box;
    padding: 0.5rem 0.75rem;
    ine-height: 1.25;
}


.pull-left {
    float: right !important;
    margin-left: 8px;
}

方式二:jquery+bootstrap+bootstrap-table

效果:

 前端分页

testList.html

<!DOCTYPE html>
<html lang="en"
      xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>商品列表</title>
    <script type="text/javascript" th:src="@{/js/jquery/jquery-3.3.1.min.js}"></script>
    <link rel="stylesheet" type="text/css" th:href="@{/bootstrap/bootstrap-3.3.7/css/bootstrap.css}">
    <link rel="stylesheet" type="text/css" th:href="@{/bootstrap/bootstraptable/bootstrap-table.css}">
    <link rel="stylesheet" type="text/css" th:href="@{/css/common.css}">
    <script type="text/javascript" th:src="@{/bootstrap/bootstrap-3.3.7/js/bootstrap.js}"></script>
   <!-- bootstrap-table要在bootstrap后面引入-->
    <script type="text/javascript" th:src="@{/bootstrap/bootstraptable/bootstrap-table.js}"></script>
    <script type="text/javascript" th:src="@{/bootstrap/bootstraptable/bootstrap-table-zh-CN.js}"></script>
</head>
<body>
<div class="block-title">秒杀商品列表</div>
<div class="panel panel-default"  style="margin: 10px;">
</div>
<div style="margin: 10px">
    <table id="mytable" ></table>
</div>

</body>
<script type="text/javascript">
    $(document).ready(function () {
        $("#mytable").bootstrapTable({
            url:"/hello3",  //请求地址
            striped : true, //是否显示行间隔色
            pageNumber : 1, //初始化加载第一页
            pagination : true,//是否分页
            sidePagination : 'client',//server:服务器端分页|client:前端分页
            pageSize : 4,//单页记录数
            pageList : [ 5, 10],//可选择单页记录数
            showRefresh : false,//刷新按钮
            pageInfo:"22",
            columns : [ {
                title : 'id',
                field : 'id',
                sortable : true
            }, {
                title : '姓名',
                field : 'name',
                sortable : true
            }, {
                title : '年龄',
                field : 'age',
                sortable : true
            },{
                title : '性别',
                field : 'sex',
                sortable : true
            }]
        })
    })

</script>
</html>

后台:

   @RequestMapping("/hello2")
    public String hello2(Model model) {

        List<Hello> list = new ArrayList<>();
        for(int i=1;i<=10;i++){
            Hello hello = new Hello();
            hello.setName("Jack");
            hello.setAge(18);
            hello.setId(i);
            list.add(hello);
        }
        model.addAttribute("dataList",list);
        return "testList";
}

回答: 在Bootstrap-Table中,可以使用sortName和sortOrder属性来实现表格的排序功能。当sortName属性设置为"sort",sortOrder属性设置为"desc"时,会生成一个order by子句,按照sort字段降序排列。例如,当使用以下代码初始化表格时: ``` $(function() { var options = { url: prefix + "/list", sortName: "sort", sortOrder: "desc", }; $.table.init(options); }); ``` 生成的sql语句为: ``` SELECT * FROM xxx order by sort desc LIMIT ? ``` 如果需要多个字段排序,可以在sortName属性中使用逗号分隔多个字段,并在sortOrder属性中留空。例如: ``` $(function() { var options = { url: prefix + "/list", sortName: "sort desc,id asc", sortOrder: "", }; $.table.init(options); }); ``` 生成的sql语句为: ``` SELECT * FROM xxx order by sort desc,id asc LIMIT ? ``` 需要注意的是,sortName属性中的字段名会被转换为下划线命名格式(驼峰命名转下划线),例如orderNum会被转换为order_num。所以在sortName属性中应该使用转换后的字段名。参考\[2\] #### 引用[.reference_title] - *1* *2* *3* [【若依(ruoyi)】Bootstrap-Table表格排序](https://blog.csdn.net/sayyy/article/details/122616970)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值