SMART datagrid v.1 > Concepts
Concepts.SMART datagrid Class System
SMART datagrid格模块由很多模型和模型之间的多种连接结构所体现。 为解决复杂性而通过现有面向对象程序(OOP)方式设计而成,并且为体现设计而在内部定义SMART datagrid身的Class模型。 虽然SMART datagrid发人员无需了解模块内部的详细内容,但因为在JavaScript的特征上,非常简单的方式可能会打破内部结构,所以需要遵守下面的几种规则。
- 适当使用SMART datagrid格模块的几种规则
- 所有类将会继承DLBase类。
- 概念上来讲,类由属性(property)、方法(method)以及回调事件(event)所构成。
- 一个属性可以具有getter和setter。只读属性不具有setter。
- 属性的getter名称是与属性名称相同的。 setter名称是在属性名称前添加"set"的。
例) GridHeader minHeight属性的getter是GridHeader.minHeight(),而setter是setMinHeight()。
例) GridHeader visible属性的getter是GridHeader.visible()。
var h = grid.header().minHeight();
grid.header().setVisible(!grid.header().visible());
属性可以通过使用DLBase.assign函数,将值变更为configuration对象。grid.header().assign({ minHeight: 30, visible: true });
assign方法是在大多数的对象属性setter内部调用的。grid.setHeader({ minHeight: 30, visible: true });
如果通过assign参数而指定基本数据类型(Number、Boolean、String)的值,就会被指定为对象的基本属性。基本属性将会在各个类API文件中加以说明。如果没有基本属性,assign调用就会被忽视。grid.header().assign(true);
或,grid.setHeader(true);
属性可以通过DLBase.getProperty、getProperties、setProperty、setProperties等,访问属性路径。var visible = grid.getProperty('header.visible');
grid.setProperty('header.visible', value);
为使用上述功能,属性名称中不可包含"."。事件回调名称是以"on"开头的。grid.onCurrentChanged = function (grid, newIndex) {};
绝对不可保管或修改以下划线或"$"符号开头的变量。绝对不可调用以下划线或"$"符号开头的函数或方法。不可使用API文件尚未公开的方法或属性。JavaScript类型的灵活性,虽然是一种优点,但是在开发业务型系统时,则会是很大的危险因素。 一定要遵循明确指定在API的参数或返回值的数据类型。