上一篇写的是封装了dialog,那么这一篇就来看看datagrid如何封装吧。
我希望最终是这样使用的
html
<table id="dg"></table>
js
// 定义(此时还未进行渲染)(一个选择器,一个参数配置)
var datagrid = new hm.datagrid('#dg',{
rownumbers:true,
columns:[[]],
data:[]
});
// 初始化(渲染)
datagrid.init();
// 调用方法(此方法会先执行init(),所以除非必要是不需要手动调用init()方法的)
datagrid.invoke('appendRow',{});
为什么我会想到要这样封装
项目里碰到这样的需求,有一张表格是用来录入的,录入完成后直接将表格所有数据一次性提交,这里就要求某个字段不能重复。
首先明确这肯定是在添加数据之前进行判断,这里我都是调用appendRow
进行行添加的,那就在我调用这句代码之前判断咯。
确实这是一种很普遍的做法吧,后来我又想,有没有对应的事件呢?在调用appendRow
的时候会先触发该事件,如果返回false
则不执行appendRow
然而并没有。
我突然觉得这个可以有!!
如果有这个事件,那我判断是否重复就写在该事件里,不符合条件