支持编辑列和添加删除行的表格组件

所属分类:UI-图表

 30314  314  查看评论 (11)
分享到微信朋友圈
X
支持编辑列和添加删除行的表格组件 ie兼容9

介绍:

这是一款基于jquery的表格插件,该插件可以经过一系列配置后根据json数据动态生成表格。该表格插件有两种展示形式,“横向序号展示”和“纵向序号展示”,其中横向序号展示支持指定列可编辑和指定类型列可增加删除行,并且可以实时返回编辑后最新的json数据。纵向序号展示只支持指定类型列可编辑功能;

调用方式:

$(".container").tableRender();

参数说明:

firstRowText: "站序号", //第一行与第一列重叠的td的内容
    captions: [ //设置表头
        {
            title: "所属分公司:",
            content: "客四",
            style: {
                fontSize: 14,
                fontFamily: "微软雅黑"
            }
        }, {
            title: "文件编号:",
            content: "0001",
            style: {
                fontSize: 14,
                fontFamily: "微软雅黑"
            }
        }
    ],
    mapObj: { //字段映射
        "name": "下行站名",
        "stationSpacing": "站距",
        "cumKil": "累计公里",
        "queueKil": "站对公里",
        "valuationKil": "计价公里",
        "vadiCenterKil": "副中心计价距离",
        "ticketPrice": "票价",
        "stationNum": "站位号",
        "transitTime": "通过时间",
        "remarks": "备注"
    },
    set: { //设置
        head: { //表头样式
            backgroundColor: '#dddddd'
        },
        type: "transverse", //表格样式  vertical【纵向顺序】 | transverse【横向顺序】
        editRow: ["stationSpacing", "queueKil", "transitTime"], //可编辑的行 字段内容为数据字段名
        addRow: ["transitTime"], //可添加/删除 的行【仅在transverse样式中可用】
        mergeTd: ["remarks"] //合并列【仅在transverse样式中可用】
    },
    data: { //数据 dataArray中为每一列的数据
        dataArray: [ //数据
            {
                "name": "西二旗大街",
                "stationSpacing": "0.00",
                "cumKil": "0.00",
                "queueKil": "0.00",
                "valuationKil": "0.00",
                "vadiCenterKil": "0.00",
                "ticketPrice": "0.00",
                "stationNum": "00001",
                "transitTime": "6:45",
                "remarks": "<span style='margin-right: 20px;font-size: 12px;'>平均路长:(61.30)公里</span><span style='margin-right: 20px;font-size: 12px;'>计价线长:(51.57)公里</span><span style='margin-right: 20px;font-size: 12px;'>首站营业时间:6:45</span>"
            },
            ...
            //还可以在结尾添加占满全行的tr【仅在transverse样式中可用】
            addTr: ["<span style='margin-right: 20px;font-size: 12px;margin-left: 20px;'>分公司制表人:张三</span><span style='margin-right: 20px;font-size: 12px;'>分公司审核人:李四</span>"]
        },
        editCallback: function(data) { //编辑后自动触发回调函数,返回最新数据(只返回dataArray中非html代码部分的字段数据)
            console.log(data);
        }
相关插件-图表

jQuery响应式表格插件ReStable

jQuery restable是一个非常简单轻量级(~ 1KB)的jQuery插件,它可以将表格在指定的响应式断点时,使表格结构切换为无序列表结构,以适应在小屏幕设备中显示表格数据。
  图表
 33149  316

抖音业绩销量动态排行,加载数据实现动态排名

git上的部分项目改造,根据自己的需求可以自行进行修改。一般用于大屏演示和数据展示
  图表
 14251  137

canvas绘制心电图

Canvas绘制心电图
  图表
 46595  366

KCharts-基于Kissy的图表组件集

KCharts,kissy,raphael,基于Kissy的图表,数据可视化,js图表组件,KCharts是基于kissy的数据可视化组件,包含折线图、柱状图、饼图、散点图等图表,定制方便,快速上手
  图表
 43998  345

讨论这个项目(11)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

    小善缘 0
    2021/5/27 15:35:57
    新增,删除怎么使用
        ELLIPSIS1
        2021/5/28 20:27:53
        set: { //设置
            head: { //表头样式
                backgroundColor: '#dddddd'
            },
            type: "transverse", //表格样式  vertical【纵向顺序】 | transverse【横向顺序】
            editRow: ["stationSpacing", "queueKil", "transitTime"], //可编辑的行 字段内容为数据字段名
            addRow: ["transitTime"], //可添加/删除 的行【仅在transverse样式中可用】
            mergeTd: ["remarks"] //合并列【仅在transverse样式中可用】
        },
    回复
    (⊙o⊙)…圈子 0
    2020/6/23 11:36:29
    不能固定表头嘛? 回复
    0
    2019/10/11 9:47:03
    请问复杂的表头怎么进行嵌套?? 回复
    Beyou 0
    2019/8/7 17:21:46
    作者你好,当我增加下一行的时候,增加的行数会有上一行的内容,怎么在增加行数的时候不要带有这个内容呢
        ELLIPSIS0
        2019/8/13 15:42:52
        增加行当时我应该是“复制当前行并往后插入并清空内容”这样实现的,你去源码里看下吧
    回复
    ANROM 0
    2019/3/22 11:11:32
    617348546 0
    2019/3/22 9:26:46
    这个可以实现表格导出吗
        ELLIPSIS0
        2019/3/22 17:15:02
        不支持的哦,一般文件导出需要后台IO流输出来完成的
    回复
    故人 0
    2019/3/19 13:34:17
    请问 第一列的1234这怎么修改呢
        ELLIPSIS1
        2019/3/20 10:57:46

        你好。第一行是自增序列,如果不需要,可以到源码中删除自增序列渲染的代码就行。  

        dataArray.forEach(function(item, index) {
            html += '<td>' + (index + 1) + '</td>';
        });

         源码中去除这个即可。其它的渲染只需要传入正确的数据格式即可。

    回复
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复