[社区版pycharm+Django+bootstrap-table]行内表格实现编辑

1.表格数据初始化。因为业务需求且暂时还没链接数据库,就导入了静态数据。

导入静态json数据方法很简单:

方法1:先写好一个json文件,因为社区版pycharm不能添加新的json文件,我就用vscode写了文件导入到django项目文件--静态文件(staic)中

目录如下:

把locaodata.js通过script导入到所需要的html文件中

<script type="text/javascript" src="static/js/localdata.js"></script>

在table里面直接使用静态数据即可

$('#tableid').bootstrapTable({
   url:'static/js/localdata.js',
    cache: false,
    clickEdit: true,//可编辑
    columns: [
        { field: 'stage',align: 'center', title: '生产阶段数目',edit:'text'},
        { field: 'melt', align: 'center',title: '炉次总数' },
        { field: 'LAmax', align: 'center',title: '中间包最大寿命' }
    ]

)}

方法2 :在表格渲染时,直接给data赋值一组json数据(这种方法仅用于数据量比较小,功能简单),如下:

$('#tabid').bootstrapTable({
    columns: [
        { field: 'id1',align: 'center', title: 'id1'},
        { field: 'id2',align: 'center', title: 'id2'},
        { field: 'id3',align: 'center', title: 'id3'},
        { field: 'id4',align: 'center', title: 'id4'}
    ],
    data:[{"id1": 20, "id2":20, "id3": 0.8,"id4":0.4}]'
})

 

2.在$table的函数中使用bootstrap-table中的行内编辑功能

 onClickCell: function(field, value, row, $element) {
            $element.attr('contenteditable', true);
            $element.blur(function() {
                let index = $element.parent().data('index');
                let tdValue = $element.html();

              //更新 行内数据

               $("#tableid").bootstrapTable('updateCell',

                { index: index, //行索引

                  field: field, //列名

                  value: tdValue //cell值 })

            })
        }

实现原理是:通过bootstrap table自带的 onClickCell 方法,点击 td 添加 contenteditable 属性(ps: 使元素可编辑),于是 td 元素具有了类似于文本框的 focus 和 blur 事件,用户点击 td 获取焦点,编辑完内容失去焦点后,调用 updateCell方法更新单元格数据。

如果需要获取表格内所有数据,则可使用

var data =$('#tableid').bootstrapTable('getData')

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值