一种自定义计算DataTable表格数据的方法
文献发布时间:2024-04-18 19:53:33
技术领域
本发明适用于任何HTML、js和css的开发中,涉及表格高级交互领域,具体涉及一种自定义计算DataTable表格数据的方法。
背景技术
本节中的陈述仅提供与本公开相关的背景信息,并且可能不构成现有技术。
Datatable是一款jquery表格插件;其是一个当前使用较为广泛的表格工具,具备按行列显示表格数据、分页、筛选和排序等功能。
现有的表格插件中,当表头(列)项显示为数字,需要按表头(列)计算每行数据时,无法自定义选择某表头(列)或某几个表头(列)或全选表头(列),以实现对所选表头(列)的每行数据进行计算,并显示在相应位置。
现有的技术方案无法根据需求变化,自定义选择表头(列),实际操作性、灵活性不强,影响用户体验。
发明内容
本发明的目的在于:针对目前背景技术中提出的问题,提供了一种自定义计算DataTable表格数据的方法,通过修改、完善原datatable的js代码,通过调用函数的方式,使用户可以在操作界面根据实际使用需求解决上述问题。
本发明的技术方案如下:
一种自定义计算DataTable表格数据的方法,包括:
步骤S1:在html页面完成table的初始建立;
步骤S2:给table新增,命名为“合计”,添加,同时添加class="checkboxAll"; 步骤S3:给table新增
步骤S4:获取table的id;
步骤S5:通过给class="checkboxAll"绑定click事件,实现点击“合计”的选中框,全选所有列或全不选所有列; 步骤S6:获取选择列的行数据,计算并显示在“合计”列。 进一步地,所述步骤S1,包括: 步骤S11:在html页面加载table的grid,添加table的id,并添加jquery表格插件datatable的JS和css;所述table的id,包括:和
步骤S12:给table所有添加。 进一步地,所述步骤S3,包括: 给table新增
进一步地,所述步骤S4,包括:
通过函数document.getElementById()查找table的id,获取table的对象tableId。
进一步地,所述步骤S5,包括:
通过$("input[type='checkbox']").attr({"checked":true})全选所有列或通过$("input[type='checkbox']").attr({"checked":false})全不选所有列。
进一步地,所述步骤S5,还包括:
给html页面上所有的"input[type='checkbox']"绑定change事件,实现当页面任意选中框发生变化时,获取每一列的行数据,按列保存至数组。
进一步地,所述步骤S6,包括:
步骤S61:申明动态数组cellData={};
步骤S62:通过查找"input[type='checkbox']",给其绑定change事件,当html页面所有的"input[type='checkbox']"的状态变化时触发。
进一步地,所述步骤S62,包括:
步骤S621:通过步骤S4中获取的table对象,获取该对象的列数,tableId.rows[0].cells.length;
步骤S622:遍历步骤S621中获取的列,调用步骤S61中的动态数组,分配与列数相同的数组cellData[array];
步骤S623:判断步骤S621中的列是否被选中,if(tableId.rows[0].cells[].children[0].checked);
步骤S624:遍历选中的列,获取每一个选中列的行数据tableId.rows[].cells[].innerHTML,并将行数据按列存放至步骤S622分配的数组中;
步骤S625:根据计算需求,遍历每一个cellData[array]数组,对每一个数组按元素顺序进行计算,并保存至存放结果的数组中totalData[];
步骤S626:将步骤S625中的totalData[]按顺序赋值给步骤S3中的totalData以显示$($(".totalData")[]).html(totalData[])。
与现有的技术相比本发明的有益效果是:
一种自定义计算DataTable表格数据的方法,包括:步骤S1:在html页面完成table的初始建立;步骤S2:给table新增,命名为“合计”,添加,同时添加class="checkboxAll";步骤S3:给table新增
,存放计算后的数据;步骤S4:获取table的id;步骤S5:通过给class="checkboxAll"绑定click事件,实现点击“合计”的选中框,全选所有列或全不选所有列;步骤S6:获取选择列的行数据,计算并显示在“合计”列;其使用者可以在页面上,通过点击按钮的方式,根据实际使用需求,灵活选择某表头(列)或某几个表头(列)或全选表头(列),以实现对所选表头(列)的每行数据进行计算,并显示在相应位置。附图说明
图1为一种自定义计算DataTable表格数据的方法的流程图。
具体实施方式
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
下面结合实施例对本发明的特征和性能作进一步的详细描述。
实施例一
请参阅图1,一种自定义计算DataTable表格数据的方法,具体包括如下步骤:
步骤S1:在html页面完成table的初始建立;需要说明的是,所述html是指超文本标记语言,是一种用于创建网页的标准标记语言;所述table是指表格;
步骤S2:给table新增,命名为“合计”,添加,同时添加class="checkboxAll";需要说明的是,class是指属性,checkboxAll是自定义命名的; 步骤S3:给table新增
步骤S4:获取table的id;
步骤S5:通过给class="checkboxAll"绑定click事件,实现点击“合计”的选中框,全选所有列或全不选所有列;需要说明的是,click事件是指:点击,可以理解为鼠标点击,操作浏览器; 步骤S6:获取选择列的行数据,计算并显示在“合计”列。 在本实施例中,具体的,所述步骤S1,包括: 步骤S11:在html页面加载table的grid,添加table的id,并添加jquery表格插件datatable的JS和css;所述table的id,包括:和
步骤S12:给table所有添加;需要说明的是:checkbox类型的元素在默认情况下被呈现为激活时被选中(打勾)的方框,即为选中框。 在本实施例中,具体的,所述步骤S3,包括: 给table新增
在本实施例中,具体的,所述步骤S4,包括:
通过函数document.getElementById()查找table的id,获取table的对象tableId。
在本实施例中,具体的,所述步骤S5,包括:
通过$("input[type='checkbox']").attr({"checked":true})全选所有列(表头)或通过$("input[type='checkbox']").attr({"checked":false})全不选所有列(表头);需要说明的是,其中,.attr(),为相关属性("input[type='checkbox']")赋状态(true/false)。
在本实施例中,具体的,所述步骤S5,还包括:
给html页面上所有的"input[type='checkbox']"绑定change事件('checkbox'属性值改变时,触发),实现当页面任意选中框发生变化时(即选中/不选中),获取每一列的行数据,按列保存至数组。
在本实施例中,具体的,所述步骤S6,包括:
步骤S61:申明动态数组cellData={};
步骤S62:通过查找"input[type='checkbox']",给其绑定change事件,当html页面所有的"input[type='checkbox']"的状态(true/false)变化时触发。
在本实施例中,具体的,所述步骤S62,包括:
步骤S621:通过步骤S4中获取的table对象,获取该对象的列数,tableId.rows[0].cells.length;
步骤S622:遍历步骤S621中获取的列,调用步骤S61中的动态数组,分配与列数相同的数组cellData[array];
步骤S623:判断步骤S621中的列是否被选中,if(tableId.rows[0].cells[].children[0].checked);
步骤S624:遍历选中的列,获取每一个选中列的行数据tableId.rows[].cells[].innerHTML,并将行数据按列存放至步骤S622分配的数组中;
步骤S625:根据计算需求,遍历每一个cellData[array]数组,对每一个数组按元素顺序进行计算,并保存至存放结果的数组中totalData[];
步骤S626:将步骤S625中的totalData[]按顺序赋值给步骤S3中的totalData以显示$($(".totalData")[]).html(totalData[])。
以上所述实施例仅表达了本申请的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请技术方案构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。
- 一种利用引用数据项自定义表格的方法
- 一种利用引用数据项自定义表格的方法
- 农业;林业;畜牧业;狩猎;诱捕;捕鱼
- 焙烤;制作或处理面团的设备;焙烤用面团
- 屠宰;肉品处理;家禽或鱼的加工
- 其他类不包含的食品或食料;及其处理
- 烟草、雪茄烟、纸烟、吸烟者用品
- 服装
- 帽类制品
- 鞋类
- 服饰缝纫用品、珠宝
- 手携物品或旅行品
- 刷类制品
- 家具、家庭用的物品或设备、咖啡磨、香料磨、一般吸尘器
- 医学或兽医学、卫生学
- 救生、消防
- 运动、游戏、娱乐活动
- 本部其他类目中不包括的技术主题
- 一般的物理或化学的方法或装置
- 破碎、磨粉或粉碎、谷物碾磨的预处理
- 用液体或用风力摇床或风力跳汰机分离固体物料、从固体物料或流体中分离固体物料的磁或静电分离、高压电场分离
- 用于实现物理或化学工艺过程的离心装置或离心机
- 一般喷射或雾化、对表面涂覆液体或其他流体的一般方法
- 一般机械振动的发生或传递
- 将固体从固体中分离、分选
- 清洁
- 固体废物的处理、被污染土壤的再生
- 基本上无切削的金属机械加工、金属冲压
- 铸造、粉末冶金
- 机床、其他类目中不包括的金属加工
- 磨削、抛光
- 手动工具、轻便机动工具、手动器械的手柄、车间设备、机械手
- 手动切割工具、切割、切断
- 木材或类似材料的加工或保存、一般钉钉机或钉U形钉机
- 加工水泥、黏土或石料
- 塑料的加工、一般处于塑性状态物质的加工
- 压力机
- 纸品或纸板或类似纸的方式加工的材料制品制作、纸或纸板或类似纸的方式加工的材料的加工
- 层状产品
- 附加制造技术
- 印刷、排版机、打字机、模印机
- 装订、图册、文件夹、特种印刷品
- 书写或绘图器具、办公用品
- 装饰艺术
- 一般车辆
- 铁路
- 无轨陆用车辆
- 船舶或其他水上船只、与船有关的设备
- 飞行器、航空、宇宙航行
- 输送、包装、贮存、搬运薄的或细丝状材料
- 卷扬、提升、牵引
- 开启或封闭瓶子、罐或类似的容器、液体的贮运
- 鞍具、家具罩面
- 微观结构技术
- 纳米技术
- 无机化学
- 水、废水、污水或污泥的处理
- 玻璃、矿棉或渣棉
- 水泥、混凝土、人造石、陶瓷、耐火材料
- 肥料、肥料制造
- 炸药、火柴
- 有机化学
- 有机高分子化合物、其制备或化学加工、以其为基料的组合物
- 染料、涂料、抛光剂、天然树脂、黏合剂、其他类目不包含的组合物、其他类目不包含的材料的应用
- 石油、煤气及炼焦工业、含一氧化碳的工业气体、燃料、润滑剂、泥煤
- 动物或植物油、脂、脂肪物质或蜡、由此制取的脂肪酸、洗涤剂、蜡烛
- 生物化学、啤酒、烈性酒、果汁酒、醋、微生物学、酶学、突变或遗传工程
- 糖工业
- 使用化学药剂、酶类或微生物处理小原皮、大原皮或皮革的工艺,如鞣制、浸渍或整饰、其所用的设备、鞣制组合物(皮革或毛皮的漂白入D06L、皮革或毛皮的染色入D06P)
- 铁的冶金
- 冶金、黑色或有色金属合金、合金或有色金属的处理
- 对金属材料的镀覆、用金属材料对材料的镀覆、表面化学处理、金属材料的扩散处理、真空蒸发法、溅射法、离子注入法或化学气相沉积法的一般镀覆、金属材料腐蚀或积垢的一般抑制
- 电解或电泳工艺、其所用设备
- 晶体生长
- 组合技术
- 天然或化学的线或纤维、纺纱或纺丝
- 纱线、纱线或绳索的机械整理、整经或络经
- 织造
- 编织、花边制作、针织、饰带、非织造布
- 缝纫、绣花、簇绒
- 织物等的处理、洗涤、其他类不包括的柔性材料
- 绳、除电缆以外的缆索
- 造纸、纤维素的生产
- 道路、铁路或桥梁的建筑
- 水利工程、基础、疏浚
- 给水、排水
- 建筑物
- 锁、钥匙、门窗零件、保险箱
- 一般门、窗、百叶窗或卷辊遮帘、梯子
- 土层或岩石的钻进、采矿
- 一般机器或发动机、一般的发动机装置、蒸汽机
- 燃烧发动机、热气或燃烧生成物的发动机装置
- 液力机械或液力发动机、风力、弹力或重力发动机、其他类目中不包括的产生机械动力或反推力的发动机
- 液体变容式机械、液体泵或弹性流体泵
- 流体压力执行机构、一般液压技术和气动技术
- 工程元件或部件、为产生和保持机器或设备的有效运行的一般措施、一般绝热
- 气体或液体的贮存或分配
- 照明
- 蒸汽的发生
- 燃烧设备、燃烧方法
- 供热、炉灶、通风
- 制冷或冷却、加热和制冷的联合系统、热泵系统、冰的制造或储存、气体的液化或固化
- 干燥
- 炉、窑、烘烤炉、蒸馏炉
- 一般热交换
- 武器
- 弹药、爆破
- 测量、测试
- 光学
- 摄影术、电影术、利用了光波以外其他波的类似技术、电记录术、全息摄影术〔4〕
- 测时学
- 控制、调节
- 计算、推算、计数
- 核算装置
- 信号装置
- 教育、密码术、显示、广告、印鉴
- 乐器、声学
- 信息存储
- 仪器的零部件
- 特别适用于特定应用领域的信息通信技术
- 核物理、核工程
- 基本电气元件
- 发电、变电或配电
- 基本电子电路
- 电通信技术
- 其他类目不包含的电技术
- 其他专利