bootstrap table 以及xEdittable的应用
以前一直没有用过 bootstrap 表格框架,因为项目css框架用的是bootstrap,为考虑到统一性的原因,所以选用了这个框架
步骤:
第一步:引用
<link href="../../../lib/bootTable/css/bootstrap-table.css" rel="stylesheet" type="text/css" />
<link href="../../../lib/bootTable/css/bootstrap-editable.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../../../lib/jquery/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="../../../js/jquery.query.js"></script>
<script type="text/javascript" src="../../../lib/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="../../../lib/bootTable/js/bootstrap-table.js"></script>
<script type="text/javascript" src="../../../lib/bootTable/js/bootstrap-table-editable.js"></script>
<script type="text/javascript" src="../../../lib/bootTable/js/bootstrap-editable.js"></script>
<script type="text/javascript" src="../../../lib/bootTable/js/bootstrap-table-zh-CN.js"></script>
<script type="text/javascript" src="../../../lib/bootstrap_datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="../../../lib/bootstrap_datetimepicker/js/bootstrap-datetimepicker.zh-CN.js"></script>
第二步:表格开始(初始化)
    function initTable(){
        $.fn.editable.defaults.mode = 'inline';//设置编辑模式,编辑的时候显示在表格内还是外部,默认是外部
        $('#tbl').bootstrapTable({
            toolbar: '#toolbar',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
            pagination: true,                   //是否显示分页(*)
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            //queryParams: oTableInit.queryParams,//传递参数(*)
            sidePagination: "client",           //分页方式:client客户端分页,server服务端分页(*)
            //pageNumber:1,                       //初始化加载第一页,默认第一页
            pageSize: 10,                       //每页的记录行数(*)
            pageList: [10, 25, 50, 100],        //可供选择的每页的行数(*)
            search: true,                       //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
            strictSearch: true,
            showColumns: true,                  //是否显示所有的列
            showRefresh: true,                  //是否显示刷新按钮
           // minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            height: 500,                        //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
            uniqueId: "ID",                     //每一行的唯一标识,一般为主键列
            showToggle:true,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表,
            onClickRow:function(row,$element){
                console.log(row);
                curRow=row;
            },
            columns: [{
                checkbox: true
            },{
                field: 'id',
                title: 'Item ID',
                visible:false
            }, {
                field: 'article_name',
                title: '废弃物品类型',
                editable:true
            }, {
                field: 'circulation_date',
                title: '流转时间',
                editable:true,
            }, {
                field: 'position',
                title: '位置',
                editable:true,
            }, {
                field: 'state',
                title: '处理状态',
                editable:true,
            }, {
                field: 'handle_people',
                title: '处理人',
                editable:true,
            }, {
                field: 'accessory_address',
                title: '附件',
                editable:true,
            }, {
                field: 'entry_time',
                title: '进库时间',
                editable:true,
            }, {
                field: 'process_time',
                title: '处理时间',
                editable:true,
            }],
            data: [],
            onEditableSave: function (field, row, oldValue, $el) {
                //判断是不是新增状态,如果是就不执行操作
                alert();
                $.ajax({
                    type: "post",
                    url: "/Editable/Edit",
                    data: { strJson: JSON.stringify(row) },
                    success: function (data, status) {
                        debugger;
                        if (status == "success") {
                            alert("编辑成功");
                        }
                    },
                    error: function () {
                        alert("Error");
                    },
                    complete: function () {
                    }
                });
            }
        })
    }
第三步:操作(新增,删除,修改,刷新表格)
1、页面一进来,手动刷新
/*查询*/
function query(){
$.ajax({
url : "ledgerManagement_findLedgerManageMentList.action",
type:"POST",
dataType : "json",
data:{
articleName:6,
entryTime:1,
},
success : function(data,status) {
var data=data.resultList
for(var i=0;i<data.length;i++){
_row=data[i];
data[i]=eval("("+_row+")");
}
$table.bootstrapTable('load', data);//重载表格
} });
}
2。新增,删除,修改(按钮操作)
    function buttonInit(){
        //新增
        $("#btn_add").click(function(){
            var datas=$table.bootstrapTable("getData");
            if(datas.length>0){
                //判断最后一行是不是有id,如果没有id不操作
                if(!datas[datas.length-1].id){
                    alert("数据不能为空!");
                    return;
                }
            }
            $('#tbl').bootstrapTable('append', {
                id: '',
                article_name: '',
                circulation_date:'',
                position:'',
                state:'',
                handle_people:'',
                accessory_address:'',
                entry_time:'',
                process_time:''
            });
        })
        //删除
        $("#btn_delete").click(function () {
            var idlist = "";//选中所有选中行的id
            var selecRow=$("#tbl").bootstrapTable('getAllSelections');
            if(selecRow.length==0){alert("请选择需要删除的行");return;}
            if (confirm("确认要删除所选行吗?")) {
                idlist=selecRow.reduce(function(o,v,i){
                    if(i!=0){
                        o+=v.id;
                    }else{
                        o+=v.id+";";
                    }
                    return o;
                },"")
                //调用后台删除接口
                $table.bootstrapTable('remove', {field: 'id', values: idlist});
            }
        });
        //取消
        $("#btn_cancel").click(function () {
            var datas=$table.bootstrapTable("getData");
            var strId = datas[datas.length-1].id;//选中所有选中行的id
            if(datas.length>0){
                //判断最后一行是不是有id,如果没有id就删除
                if(!strId){
                    $table.bootstrapTable('remove', {field: 'id', values: strId});
                    return;
                }
            }
        });
    }
新增

编辑

bootstrap table 以及xEdittable的应用的更多相关文章
- BootStrap table使用
		bootstrap table git address https://github.com/wenzhixin/bootstrap-table 引入文件 <link rel="sty ... 
- bootstrap Table 中给某一特定值设置table选中
		bootstrap Table 中给某一特定值设置table选中 需求: 如图所示:左边地图人员选定,右边表格相应选中. 功能代码: //表格和图标联动 function changeTableSel ... 
- JS组件系列——表格组件神器:bootstrap table
		前言:之前一直在忙着各种什么效果,殊不知最基础的Bootstrap Table用法都没有涉及,罪过,罪过.今天补起来吧.上午博主由零开始自己从头到尾使用了一遍Bootstrap Table ,遇到不少 ... 
- JS组件系列——表格组件神器:bootstrap table(二:父子表和行列调序)
		前言:上篇 JS组件系列——表格组件神器:bootstrap table 简单介绍了下Bootstrap Table的基础用法,没想到讨论还挺热烈的.有园友在评论中提到了父子表的用法,今天就结合Boo ... 
- JS组件系列——表格组件神器:bootstrap table(三:终结篇,最后的干货福利)
		前言:前面介绍了两篇关于bootstrap table的基础用法,这章我们继续来看看它比较常用的一些功能,来个终结篇吧,毛爷爷告诉我们做事要有始有终~~bootstrap table这东西要想所有功能 ... 
- JS组件系列——Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
		前言:最近项目里面需要用到表格的冻结列功能,所谓“冻结列”,就是某些情况下表格的列比较多,需要固定前面的几列,后面的列滚动.遗憾的是,bootstrap table里自带的fixed column功能 ... 
- JS组件系列——Bootstrap Table 表格行拖拽
		前言:之前一直在研究DDD相关知识,好久没更新JS系列文章了.这两天做了一个简单的业务需求,觉得效果还可以,今天在这里分享给大家,欢迎拍砖~~ 一.业务需求及实现效果 项目涉及到订单模块,那天突然接到 ... 
- JS组件系列——Bootstrap Table 表格行拖拽(二:多行拖拽)
		前言:前天刚写了篇JS组件系列——Bootstrap Table 表格行拖拽,今天接到新的需要,需要在之前表格行拖拽的基础上能够同时拖拽选中的多行.博主用了半天时间研究了下,效果是出来了,但是感觉不尽 ... 
- 后台系统组件:一丶bootstrap table
		http://www.cnblogs.com/landeanfen/p/4976838.html (bootstrap table) http://www.cnblogs.com/landeanfen ... 
随机推荐
- Linux或者window装svn
			Centos7搭建SVN Server手记 安装svn和依赖模块 yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql ... 
- 深入浅出Java多线程(2)-Swing中的EDT(事件分发线程) [转载]
			本系列文章导航 深入浅出Java多线程(1)-方法 join 深入浅出Java多线程(2)-Swing中的EDT(事件分发线程) 深入浅出多线程(3)-Future异步模式以及在JDK1.5Concu ... 
- hdu2579之BFS
			Dating with girls(2) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ... 
- MFC中cstring,string和char[]的相互转化
			int 转 CString:CString.Format("%d",int);...............................string 转 CString CSt ... 
- Android-自定义RadioButton
			1.控件RadioButton需要用RadioGroup包裹起来,才能使用2.RadioButton必须设置ID才能实现单选功能3.RadioGroup有方向(垂直方向 和 水平方向)默认是垂直方向 ... 
- Web开发入门经典:使用PHP6、Apache和MySQL 中文pdf扫描版
			通过学习本书,读者很快就能明白为什么PHP.Apache和MySQL会迅速成为开发动态网站最流行的方式,本书将为读者理解这3个核心组件如何独立工作和协同工作奠定良好的基础,引导读者充分利用它们提供的各 ... 
- [SIP00]SIP 概念总结
			SIP --------------------------- Session Initiation Protocol --------------------------- create, ... 
- mvc - Authorize授权
			from : http://www.cnblogs.com/asks/p/4372783.html http://www.cnblogs.com/myindex/p/5479428.html 
- .net core 高性能对象映射
			关于对象转换已经有不少轮子(AutoMapper,TinyMapper) .出于项目需要,手动造一个简单轮子.先贴代码 1.采用静态泛型类缓存,避免了拆箱装箱操作. 2.对于转换对象中有,字段名一样但 ... 
- CSS:如何清除a标签之间的默认留白间距
			即使我们使用了类似 *{margin: 0;padding: 0;} 这样的代码重置了浏览器默认样式,也会发现类似<a>标签这种inline-block元素,它们之间也还存在着间距. de ... 
