O2OA API

Module

data

data对象是流程平台中,流程实例的业务数据;以及内容管理平台中,文档实例的业务数据。
这些数据一般情况下是通过您创建的表单收集而来的,也可以通过脚本进行创建和增删改查操作。
data对象基本上是一个Object对象,您可以用访问Object对象的方法访问data对象的所有数据,但增加和删除数据时略有不同。

Example

//您可以在表单或流程的各个嵌入脚本中,通过this来获取当前实例的业务数据,如下:
var data = this.data;

Source

Members

[property]String|Number

访问或修改data对象的数据。

data数据用于存储表单获取的数据,所有属性都是动态的,其格式和访问方式都和JSON类似。
在表单脚本中使用data对象,实现了data和表单可编辑元素的双向绑定。
改变data对象,会自动更新表单元素,修改表单可编辑元素,也会自动修改data对象。
数据赋值(this.data.subject = '')仅适用于表单上有该字段组件;建议使用this.data.add("subject","",true)方法,适用所有情况。

Type

  • String | Number

Examples

var value = this.data.subject;  //获取名为subject的数据值

//将subject的值修改为'123'。
//需要注意的是,用这种方式创建新字段,必须要在当前表单上有一个名为‘subject’的字段组件。
//如果表单上没有该组件,可以使用this.data.add('subject','123',true)。给已有字段赋值则没有这个限制。
this.data.subject = '123';

获取流程文档中的数据网格的值
如有以下数据网格: 其数据网格设计如下(数据网格id为:datagrid):

//获取流程文档中的数据网格的值
var data = this.data.datagrid;

//获取到的data值格式如下:
{
  "data": [
      {
          "amountCol": { "amount": "12000" },
         "countCol": { "number": "10" },
         "nameCol": { "name": "手机" },
         "priceCol": { "price": "1200" }
     },
     {
         "amountCol": { "amount": "15000" },
         "countCol": { "number": "5" },
         "nameCol": { "name": "电脑" },
         "priceCol": { "price": "3000" }
     }
 ],
 "total": {
     "amountCol": "27000",
     "countCol": "15"
 }
}


//获取到数据网格中的其他数据:

//获取数据网格中的第一条数据
var data = this.data.datagrid.data[0];

//获取数据网格中的第一条数据的 nameCol 列的值
var data = this.data.datagrid.data[0].nameCol.name;

//获取数据网格中的 amountCol 列的总计值
var data = this.data.datagrid.total.amountCol;

修改数据网格中的数据
经过本样例修改后,数据网格将变为:

//修改数据网格中的第一条数据的 nameCol 列的值
this.data.datagrid.data[0].nameCol.name='平板电脑';

Source

Methods

add(key, value, overwriteopt) → {String|Number|Array|JsonObject}

为data对象添加一个数据节点。

Syntax

var newData = this.data.add(key, value, overwrite);

Parameters

  • key String | Number

    要添加的新的数据节点名称或数组索引号。

  • value String | Number | Array | JsonObject

    新的数据节点的值。

  • overwrite Boolean <optional>

    如果要添加的节点已经存在,是否覆盖。默认为 false。

Returns

  • String Number Array JsonObject

    新添加的数据节点或原有的同名节点。

Examples

//为data添加一个名为"remark"值为"I am remark"的数据
this.data.add("remark", "I am remark");
//为data添加一个名为"person"的Object对象数据
var person = this.data.add("person", {});
person.add("name", "Tom");
person.add("age", 23);

//或者可以这样
var person = this.data.add("person", {name: "Tom", "age": "23"});
//为data添加一个名为"orders"的数组对象数据
var orders = this.data.add("orders", []);
orders.add({name: "phone", count: 5});
orders.add({name: "computer", count: 10});
orders[0].add("count", 10, true);  //将第一条数据的count修改为10

//或者可以这样
var orders = this.data.add("orders", [
 {name: "phone", count: 5},
 {name: "computer", count: 10}
]);
//将第一条数据修改为name为mobile; count为10
orders.add(0, {name: "mobile", count: 10}, true);

Source

static

save(callbackopt)

保存data对象。不触发事件。 不建议在queryLoad、beforeSave和afterSave中使用本方法。

Syntax

this.data.save(callback);

Parameters

  • callback function <optional>

    保存成功后的回调函数。

Example

this.data.save(function(json){
  this.form.notice("save success!", "success")
});

Source

results matching

    No results matching ''