• bootstrap table 和 x-editable 使用方法


      最近需要做一些数据表格,有同事推荐EasyUI,但经过比较选择了Bootstrap table,一款极为强大的表格组件,基于Bootstrap 的 jQuery 。本文还将介绍Bootstrap-editable(行内编辑功能)使用方法。

    Bootstrap下载地址:http://v3.bootcss.com/getting-started/#download

    Bootstrap table下载地址:https://github.com/wenzhixin/bootstrap-table

    Bootstrap-editable下载地址:https://github.com/vitalets/x-editable

     

    一、Bootstrap table

    1.引入js和css文件

        <script src="{% static 'jquery/jquery.min.js' %}"></script>
         <link rel="stylesheet" type="text/css" href="{% static 'bootstrap/css/bootstrap.min.css' %}">
         <script src="{% static 'bootstrap/js/bootstrap.min.js' %}"></script>
         <link rel="stylesheet" type="text/css" src="{% static 'bootstrap/css/bootstrap.css' %}">
        <link rel="stylesheet" href="{% static 'bootstrap-table-developdistootstrap-table.css' %}">
        <script src="{% static  'bootstrap-table-developdistootstrap-table.js' %}"></script>
        <script src="{% static 'bootstrap-table-developdistlocaleootstrap-table-zh-CN.js' %}"></script>
    <script>
        $(function () {
            $.post('/search/',{url:url}, function (data) {
                $("#table").bootstrapTable('destroy'); // 销毁数据表格
                $('#table').bootstrapTable({
    
                    method: 'get',
                    cache: false,
                    height: 500,
                    striped: true,
                    pagination: true,
                    pageSize: 20,
                    pageNumber:1,
                    pageList: [10, 20, 50, 100, 200, 500],
                    search: true,
                    showColumns: true,
                    showRefresh: true,
                    showExport: true,
                    exportTypes: ['csv','txt','xml'],
                    search: false,
                    clickToSelect: true,
                    data: data,
                    columns: [{
                        field: "productname",
                        title: "商品",
                    }, {
                        field: "scanweight",
                        title: "重量",
    
    
                    },{
                        field: "standard",
                        title: "标品",
    
                    },{
                        field: "status",
                        title: "状态",
                    }],
                });
            });
        });
        
    </script>

    data:返回数据必须是json
    格式。

    $("#table").bootstrapTable('destroy')销毁数据表格。没有这段代码的话,每次返回新的数据都不会显示,原因是有缓存。

     
    
    

    二、bootstrap-editable

     如果我们需要对表格行内进行编辑要怎么办呢,bootstrap-editable插件可以帮我们实现。

    1.导入bootstrap-editable里面的js和css文件

        <script src="{% static 'bootstrap-table-developdistextensionseditableootstrap-table-editable.js' %}"></script>
        <link href ="{% static 'bootstrap-editablecssootstrap-editable.css' %}" rel="stylesheet" />
        <script src="{% static 'bootstrap-editablejsootstrap-editable.js' %}"></script>

    2.代码

    <script>
        
        $(function () {
            $.post('/search/',{url:url}, function (data) {
                $("#table").bootstrapTable('destroy'); // 销毁数据表格
                $('#table').bootstrapTable({
    
                    method: 'get',
                    cache: false,
                    height: 500,
                    striped: true,
                    pagination: true,
                    pageSize: 20,
                    pageNumber:1,
                    pageList: [10, 20, 50, 100, 200, 500],
                    search: true,
                    showColumns: true,
                    showRefresh: true,
                    showExport: true,
                    exportTypes: ['csv','txt','xml'],
                    search: false,
                    clickToSelect: true,
                    data: data,
                    columns: [{
                        field: "productname",
                        title: "商品",
    
                    }, {
                        field: "scanweight",
                        title: "重量",
                        editable:{
                            type: 'text',
                            title: 'ScanWeight',
                            validate:  function (v) {
                            if (isNaN(v)) return '必须是数字';
                            var status = parseInt(v);
                            if (status < 0) return '必须是正整数';
                        }
                        }
    
                    },{
                        field: "standard",
                        title: "标品",
    
                    },{
                        field: "status",
                        title: "状态",
                        editable:{
                            type: 'text',
                            title: '1:正常,2:缺货',
                            validate: function (v) {
                            if (isNaN(v)) return '必须是数字';
                            var status = parseInt(v);
                            if (status <= 0 || status>2) return '必须1或者2';
                        }
                        }
    
                    }],
                    onEditableSave: function (field, row, oldValue, $el) {
                    $.ajax({
                        type: "post",
                        url: "/Edit/",
                        data: row,
                        dataType: 'JSON',
                        success: function (data) {
                            console.log(data)
                        },
                        error: function (err) {
                            console.log(err)
                        },
                        complete: function () {
                        }
    
        });
    }
    
                });
            });
        });
    
    </script>

    后端处理代码就不贴出来了,用ajax和后台交互就可以。

  • 相关阅读:
    Windows上安装PyV8
    Windows鼠标右键菜单添加SublimeText打开选项
    Windows使用Python虚拟环境
    Windows同时安装Python2和Python3
    Windows使用Cmder
    Visual Studio Code配置
    Windows 10使用Tesseract-OCR出现WindowsError: [Error 2]
    用pymysql代替MySQLdb
    使用python来搞定redis的订阅功能
    来写一个最基本的装饰器吧!
  • 原文地址:https://www.cnblogs.com/shenh/p/7543980.html
Copyright © 2020-2023  润新知