About xiaoqluo

该作者尚未填入任何详情
So far xiaoqluo has created 6 blog entries.

Data组件基础05:再谈Data组件新增,查询,保存

前面我们介绍了Data的数据新增,查询,保存;接下来我们来看看怎么进行新增,查询,保存逻辑的扩展; Data上有onCustomNew、onCustomRefresh、onCustomSave事件,这几个事件就是给开发者用于实现data的新增、查询、保存逻辑的;看到这大家可能会产生疑问:“为什么需要这几个事件,加载数据不是可以使用loadData吗?保存也可以自己发ajax请求啊?” 有这些疑问很正常,开发者确实可以不需要这些事件来实现data的新增、查询、保存逻辑,但是我们还是推荐使用onCustomNew、onCustomRefresh、onCustomSave事件重新实现; 原因是因为Data组件作为前端UI中的数据核心组件,很多组件都需要感知data的数据状态,同时Data组件内部也维护着自己的状态;当跳出data现有机制和接口很有可能其他关联的组件就失去了与之关联感知的能力,同时data自身提供的新增、查询、保存操作也无法使用开发者扩展的逻辑。例如:如果加载数据开发者自己使用loadData加载,最简单的mobile中scrollView组件上拉加载数据能力就无法感知扩展的逻辑。 下面通过一个具体的案例来讲解onCustomNew、onCustomRefresh、onCustomSave事件扩展新增、查询、保存逻辑 首先我们新建一个.w,在.w中放入data组件(注意:不是BizData组件),定义列FID、fString、fInteger、fFloat, 增加data的onCustomRefresh,由于接管了onCustomRefresh事件,autoLoad=true自动会使用新的逻辑加载数据 代码如下: //数据刷新接管实现 Model.prototype.masterDataCustomRefresh = function(event){ /* event包含 { "source" : 组件的js对象, "cancel" : 可修改,设置为true后中断当前刷新动作, "limit" : 页大小, "offset" : 偏移, "options" : 刷新给入的参数 } */ //这里简单演示从datas.json文件中取数据,还可以传递limit、offset实现分页的逻辑 var [...]

By |6月 2nd, 2015|未分类|Data组件基础05:再谈Data组件新增,查询,保存已关闭评论

Data组件基础04:Tree、主从数据、更新模式

一、树型数据 下面介绍一下Data组件的树型数据特性 Data的数据是按行(Row)存储进行存储的,当然树型数据也是按行(Row)存储,只是针对树特点在Row上增加了rows存放子行 rows : [ { rows: [...], ... },... ] 1、Data组件树相关属性 isTree : boolean 树型数据标识 treeOption :Object 树型数据相关参数 包括属性: parentRelation: 父关系,形成父子树的父关系 rootFilter: 根过滤条件,当设置时树形数据将按节点加载数据 delayLoad: 延迟数据加载,默认值为true nodeKindRelation: 节点类型关系,data操作时使用指定relation自动记录是否叶子节点信息 2、Data组件树相关api Data.getTreeOption();--------获取树的定义信息,返回TreeOption TreeOption包括属性: isDelayLoad [...]

Data组件基础03:CRUD

一、新增 1、Data组件的新增相关API: Data.newData(option);--------后端新增,返回一行或者多行新增数据 option参数说明: { "parent" : Data.Row - 树形数据的父(非树形不需要), "index" : integer - 新增数据的位置,缺省新增到最后, "defaultValues" : array - 新增行的默认值数组 ,数组的长度决定新增行数,数组中的对象是列的默认值 defaultValues格式: [ {列名:默认值,...}, {列名:默认值,...}, ... ] "onError" : function - 失败回调函数,function(event); event的格式: { [...]

Data组件基础02:规则、数据遍历查找

一、Data组件的规则 Data组件提供了规则执行的机制,在data上可以定义:计算、只读、必填、约束等规则,规则都是以表达式的形式给出,表达式计算结果为true时只读、必填生效,约束表达式计算结果=true时数据有效 Data只读上下文包括: $model : 前端model对象 $data : data组件对象 表达式上下文包括: $model : 前端model对象 $data : data组件对象 $row : 计算的行对象 $rowID : 计算的行ID $col : 列名 注:对于整个data只有只读的规则,必填和约束规则只有数据进行修改后才会触发 <rule> <!-- 整个data只读 --> <readonly <expr >true</expr> </readonly> [...]

Data组件基础01:列、初始化加载状态、行对象和游标

一、Data的xid Data组件是前端model上的数据核心,xid是Data组件的唯一标识,它的命名规则必须符合JS变量命名规则,因为Data组件为简化感知组件引用data的写法直接在model上使用xid存放了Data的对象实例,这样引用数据就可以使用model.xid的方式了,当然同样也支持model.comp(xid)的常规写法; […]