API
Component

Data ($UI/system/components/justep/data/data)

使用范围:UI2

Contents

component Data ($UI/system/components/justep/data/data) extends ModelComponent

data组件

	
	数据刷新说明:
		原则:
			1、limit为-1时表示不分页加载数据,一次全部加载,反之
			2、部分刷新函数提供“增量模式”参数,当使用“增量模式”时原修改数据不会覆盖,只是增加新刷新的数据
			3、getCount()函数获取的是前端已经加载的记录数,getTotal()函数获取的是全部的记录数,包括分页没有加载的数据。getTotal()函数在refreshData或者loadData后可以使用
 		主要函数:
 			1、refreshData刷新首页或者全部数据,受limit影响
			2、loadPageData加载指定页数据,limit!=-1时可以使用
			3、loadNextPageData根据当前offset加载下一页数据,limit!=-1时可以使用
			4、loadAllPageData分页时加载所有数据,limit!=-1时可以使用
	数据新增案例参考:Data#newData
	数据保存案例参考:Data#saveData
	遍历当前.W中的Data案例参考:Data.each、Data.eachAll
	统计函数参考:Data.count、Data.sum、Data.avg、Data.min、Data.max
	过滤条件设置参考:Data#setFilter
	数据查找参考:Data#find
	

Constructor Top

  Data ()

Static Properties & Enumerations Top

Row Row

data行

Properties Top

boolean autoLoad = false

自动加载数据,与auto-new属性互斥,默认:false

boolean autoNew = false

自动新增数据,与auto-load属性互斥,默认:false

boolean confirmDelete

删除确认提示

string confirmDeleteText

删除确认提示文本

boolean confirmRefresh

数据修改后未保存刷新时的确认提示

string confirmRefreshText

未保存数据刷新确认提示文本

object defCols

data的列定义,是运行时data组件js对象上所有列的定义

object deleteDatas

data删除还没有提交数据的可观察数组,可以data.deleteDatas.get()获取Row数组

boolean directDeleteMode

直接删除方式,删除时直接进行数据提交,当为false时删除记录将在saveData时统一提交

integer limit

分页取数据的页记录数,等于-1时不执行分页一次取全部数据,运行时谨慎修改,会影响数据导航条分页取数据状态

slaveDatas

从data的id数组

string xid

[readonly]data的xid

Attributes Top

boolean autoLoad = false

自动加载数据,与auto-new属性互斥,默认:false

boolean autoNew = false

自动新增数据,与auto-load属性互斥,默认:false

boolean isTree

是否树形数据

integer limit

分页取数据的页记录数,等于-1时不执行分页一次取全部数据,运行时谨慎修改,会影响数据导航条分页取数据状态

master

主从关系

XML rule

规则,可以定义列的只读规则(readonly)、计算规则(calculate)、必填规则(required)、约束规则(constraint)

treeOption

树参数

Methods Top

void add (object defaultValue, Row parent)
object aggVal (string col)
void applyUpdates ()
number avg (string column, function filterCallback)
number avgByAll (string column, function | Row filterCallback)
boolean bof ()
string buildFilter ()
void cancelUpdates ()
void clear ()
void clearOrderBy ()
string col (string col)
Integer count (Function filterCallback)
number countByAll (function filterCallback)
void deleteAllData (DataConfirmParam options)
boolean deleteData (Array rows, DataConfirmParam options)
void disableRecordChange ()
void doDeleteAfter (boolean success, Object options, Object params)
void doRefreshAfter (boolean success, Object options, Object params)
void doSaveAfter (boolean success, Object options, Object params)
void each (function callback, object caller, Row parent)
void eachAll (function callback, object caller, Row parent)
void eachAllByPeek (function callback, object caller, Row parent)
void eachByPeek (function callback, object caller, Row parent)
void enabledRecordChange ()
boolean eof ()
void exchangeRow (Row row1, Row row2)
boolean exist (String rowID)
Array<Row> find (Array fields, Array values, Boolean first, Boolean caseInsensitive, Boolean partialKey, Boolean all)
void first ()
object getAggregateValue (String col)
String getChangedIDs (Data.STATE type, String delim)
list<Row> getChangedRows (Data.STATE type)
String getColumnIDs ()
integer getCount (Row parent)
void getCurrentRow (boolean peek)
Any getCurrentRowID ()
String getFilter (String name)
Row getFirstRow ()
Array getIDs ()
string getInvalidInfo (boolean force)
Row getLastRow ()
integer getOffset (Row parent)
integer getOrderBy (string relation)
Any getOriginalValue (string col, Row row)
boolean getReadonly ()
Row getRowByID (string rowid)
Any getRowID (Row row,行对象)
integer getRowIndex (Row row)
Data.STATE getRowState (Row row)
integer getTotal (Row parent)
object getTreeOption ()
object getUserData (string name, Row row)
Any getValue (String col, Row row)
object getValueByID (String col, String rowid)
boolean isCalculateCol (string col)
boolean isChanged ()
boolean isLeaf (Row row)
boolean isSelfChanged ()
boolean isSlaveChanged ()
boolean isTree ()
boolean isValid (boolean force)
string label (string col)
void last ()
boolean loadAllPageData (Object options)
void loadData (JSON data, Boolean append, integer index, boolean override)
boolean loadNextPageData (Object options)
boolean loadPageData (integer pageIndex, Object options)
number max (string column, function filterCallback)
number maxByAll (string column, function | Row filterCallback)
number min (string column, function filterCallback)
number minByAll (string column, function | Row filterCallback)
List newData (JSON options)
void next ()
void open ()
void pre ()
object ref (string col, Row row)
boolean refreshData (RefreshDataParam options)
void remove (Row row)
Boolean saveData (Object options)
void setFilter (String name, String filter)
void setOrderBy (string relation, integer type)
void setRowState (Row row, Data.STATE state)
void setTotal (integer count, Row parent)
void setUserData (String name, String value, Row row)
void setValue (String col, Any value, Row row)
void setValueByID (string col, object value, string rowid)
void sort (function callback)
Number sum (String column, function filterCallback)
number sumByAll (string column, function | Row filterCallback)
void to (Row | string row)
Object toJson (JsonParam option)
object val (string col, Row row)

Operations Top

clear ()
void delete (List.<Row> | Row 删除的行或者行数组,缺省为当前行)
void deleteAll (boolean force)
void firstPage ()
void firstRow ()
void lastPage ()
void lastRow ()
void loadAllPage ()
void loadNextPage ()
void loadPage (integer pageIndex)
void new (Array<Row> defaultValues, integer index)
void newBrother (Row parent)
void newChild (Row parent)
void nextPage ()
void nextRow ()
void prevPage ()
void prevRow ()
void refresh (boolean force)
void save ()

Events Top

void onAfterDelete (AfterDeleteEvent event)
void onAfterNew (AfterNewEvent event)
void onAfterRefresh (AfterRefreshEvent event)
void onAfterSave (BeforeSaveEvent event)
void onBeforeDelete (BeforeDeleteEvent event)
void onBeforeNew (BeforeNewEvent event)
void onBeforeRefresh (BeforeRefreshEvent event)
void onBeforeSave (BeforeSaveEvent event)
void onCreate (ModelEvent event)
void onCustomDelete (BeforeDeleteEvent event)
void onCustomNew (CustomNewEvent event)
void onCustomRefresh (CustomRefreshEvent event)
void onCustomSave (CustomSaveEvent event)
void onDataChange (DataChangeEvent event)
void onIndexChanged (IndexChangedEvent event)
void onIndexChanging (IndexChangingEvent event)
void onLoadSlave (LoadSlaveEvent event)
void onSaveCommit (ModelEvent event)
void onValueChange (ValueChangeEvent event)
void onValueChanged (ValueChangedEvent event)

Constructor details Top

public Data ()

data组件

	
	数据刷新说明:
		原则:
			1、limit为-1时表示不分页加载数据,一次全部加载,反之
			2、部分刷新函数提供“增量模式”参数,当使用“增量模式”时原修改数据不会覆盖,只是增加新刷新的数据
			3、getCount()函数获取的是前端已经加载的记录数,getTotal()函数获取的是全部的记录数,包括分页没有加载的数据。getTotal()函数在refreshData或者loadData后可以使用
 		主要函数:
 			1、refreshData刷新首页或者全部数据,受limit影响
			2、loadPageData加载指定页数据,limit!=-1时可以使用
			3、loadNextPageData根据当前offset加载下一页数据,limit!=-1时可以使用
			4、loadAllPageData分页时加载所有数据,limit!=-1时可以使用
	数据新增案例参考:Data#newData
	数据保存案例参考:Data#saveData
	遍历当前.W中的Data案例参考:Data.each、Data.eachAll
	统计函数参考:Data.count、Data.sum、Data.avg、Data.min、Data.max
	过滤条件设置参考:Data#setFilter
	数据查找参考:Data#find
	

Static Properties & Enumerations Detail Top

static public Row Row

data行

Properties Detail Top

public boolean autoLoad = false

自动加载数据,与auto-new属性互斥,默认:false

public boolean autoNew = false

自动新增数据,与auto-load属性互斥,默认:false

public boolean confirmDelete

删除确认提示

See ConfirmDeleteText

public string confirmDeleteText

删除确认提示文本

See ConfirmDelete

public boolean confirmRefresh

数据修改后未保存刷新时的确认提示

See ConfirmRefreshText

public string confirmRefreshText

未保存数据刷新确认提示文本

See ConfirmRefresh

public object defCols

data的列定义,是运行时data组件js对象上所有列的定义

public object deleteDatas

data删除还没有提交数据的可观察数组,可以data.deleteDatas.get()获取Row数组

public boolean directDeleteMode

直接删除方式,删除时直接进行数据提交,当为false时删除记录将在saveData时统一提交

public integer limit

分页取数据的页记录数,等于-1时不执行分页一次取全部数据,运行时谨慎修改,会影响数据导航条分页取数据状态

public slaveDatas

从data的id数组

public string xid

[readonly]data的xid

Attributes Detail Top

public boolean autoLoad = false

自动加载数据,与auto-new属性互斥,默认:false

public boolean autoNew = false

自动新增数据,与auto-load属性互斥,默认:false

public boolean isTree

是否树形数据

public integer limit

分页取数据的页记录数,等于-1时不执行分页一次取全部数据,运行时谨慎修改,会影响数据导航条分页取数据状态

public master

主从关系

	包括属性:
		data 主Data对象
		column 关联关系
	xml格式:
	
		<master data="" column=""/>
	

public XML rule

规则,可以定义列的只读规则(readonly)、计算规则(calculate)、必填规则(required)、约束规则(constraint)

	只读规则包含expr表达式部分,当表达式计算结果为True时只读,当只读定义在rule根下时为整个data的只读规则
	计算规则包含expr表达式部分,对应列的值来自于表达式计算结果
	必填规则包含expr表达式部分和message提示部分,当表达式计算结果为True时该列为必填,没有填写数据违反必填规则时提示message信息
	约束规则包含expr表达式部分和message提示部分,当表达式计算结果为False时违反约束规则提示message信息
	
	xml格式说明:
	
      <rule>
        <!--data的只读规则定义-->
        <readonly> 
            <expr>js:true</expr> 
        </readonly>  
        <col name="fDecimal"> 
          <!--fDecimal列的只读规则定义-->
          <readonly> 
            <expr>js:true</expr> 
          </readonly>
          <!--fDecimal列的计算规则定义-->  
          <calculate> 
            <expr>js:$model.slaveData?$model.slaveData.sum('fDecimal',$row):0</expr> 
          </calculate> 
        </col> 
        <col name="fString"> 
          <!--fString列的必填规则定义-->
          <required> 
            <expr>js:true</expr>
            <message>fString不能为空</message> 
          </required>
          <!--fString列的计算规则定义-->  
          <constraint> 
            <expr>js:$val[0]=='A'</expr> 
            <message>fString第一个字符必须为'A'</message> 
          </constraint> 
        </col> 
      </rule>  
	

public treeOption

树参数

	包括属性:
		parentRelation [attribute] 父关系,形成父子树的父关系
		rootFilter [attribute] 根过滤条件,当设置时树形数据将按节点加载数据
		delayLoad [attribute] 延迟数据加载,默认值为true
		nodeKindRelation [attribute] 节点类型关系,data操作时使用指定relation自动记录是否叶子节点信息
	xml格式:
	
		<treeOption parentRelation="" delayLoad="" rootFilter=""
			nodeKindRelation=""
			nodeLevelRelation="" />
	

See GetTreeOption

Methods Detail Top

public void add (object defaultValue, Row parent)

前端新增一行数据,状态需要开发者设定

Parameters

object defaultValue

[required]行默认值
参数格式:

{ 列名:值, 列名:值, ... }

Row parent

新增数据的父对象

Return Value

void

public object aggVal (string col)

获取统计列数据

Parameters

string col

[required]列名称

扩展类型:COLUMN

Return Value

object

public void applyUpdates ()

进行数据状态的更新,设置data的数据行状态,如:清除删除行,清除编辑状态,版本号维护;通常在数据提交服务端成功后调用

Return Value

void

public number avg (string column, function filterCallback)

获取data中指定列的平均值,函数返回的是前端当前已经加载记录的平均值,不包含分页还没有加载到前端的数据,注意:返回的数值精度受js的number精度影响(如果从data,只计算和主关联的从数据)

  
    //统计mainData中年龄fAge平均值
    var avg = this.comp('mainData').avg('fAge');
    //统计mainData中fName姓“李”的年龄fAge平均值
    var avg = this.comp('mainData').avg('fAge',function(ev){
    	var v = ev.source.getValue('fName',ev.row);
    	return v.indexOf('李')==0;
    });
    

Parameters

string column

[required]进行统计的列

function filterCallback

过滤的回调函数,需要返回boolean,为true时行有效,回调函数给出参数event,{'data':data对象,row:行},缺省全部有效

Return Value

number

public number avgByAll (string column, function | Row filterCallback)

获取data中指定列的平均值,(如果从data,按全部从数据计算),当Data是从Data时filterCallback可以直接为主Data的Row对象,即计算和主data给定行相关的统计

Parameters

string column

[required]进行统计的列

function | Row filterCallback

过滤的回调函数,需要返回boolean,为true时行有效,回调函数给出参数event,{'data':data对象,row:行},缺省全部有效

Return Value

number

public boolean bof ()

当前是否第一行

Return Value

boolean

当前是否第一行

public string buildFilter ()

生成返回过滤字符串

Return Value

string

public void cancelUpdates ()

还原data的所有修改数据

Return Value

void

public void clear ()

清空data的所有数据,会触发data的onDataChanged事件

Return Value

void

public void clearOrderBy ()

清除data上的OrderBy定义

Return Value

void

public string col (string col)

返回列名,用于表达式中使用

Parameters

string col

[required]列名称

扩展类型:COLUMN

Return Value

string

public Integer count (Function filterCallback)

获取data的记录数,函数返回的是前端当前已经加载的数据的记录数,不包含分页还没有加载到前端的数据(如果从data,只计算和主关联的从数据)

  
    //统计mainData中记录数
    var count = this.comp('mainData').count();
    //统计mainData中fName姓“李”的记录数
    var count = this.comp('mainData').count(function(ev){
    	var v = ev.source.getValue('fName',ev.row);
    	return v.indexOf('李')==0;
    });
    

Parameters

Function filterCallback

100 过滤的回调函数,需要返回boolean,为true时行有效,回调函数给出参数event,{'data':data对象,row:行},缺省全部有效

Return Value

Integer

行数

public number countByAll (function filterCallback)

获取data的全部记录数(如果从data,按全部从数据计算)

Parameters

function filterCallback

过滤的回调函数,需要返回boolean,为true时行有效,回调函数给出参数event,{'data':data对象,row:行},缺省全部有效

Return Value

number

public void deleteAllData (DataConfirmParam options)

删除data所有数据,感知directDeleteMode和confirmDelete属性设置

Parameters

DataConfirmParam options

删除参数
参数格式:

{ "async" : {boolean} - 异步执行,默认:false, "confirm" : {boolean} - 删除确认提示,缺省使用属性confirmDelete "onError" : {function} - 失败回调,function(event), event的格式: { "source" : {Data} - 组件的js对象, "errorType" : {string} - 'server', "errorNode" : {object} - 错误信息, "httpError" : {boolean} - 是否http请求失败, "httpState" : {string} - http请求返回码 } "onSuccess" : {function} - 成功回调,function(event), event的格式: { "source" : {Data} - 组件的js对象 } }

Return Value

void

public boolean deleteData (Array rows, DataConfirmParam options)

业务数据删除方法,当directDeleteMode=true时直接提交后台删除,当confirmDelete=true时会弹出删除确认框

 
 
 //不提示直接提交后台删除当前行
 var data = this.comp('mainData');
 var confirmDelete = data.confirmDelete;
 var directDeleteMode = data.directDeleteMode;
 try{
	 data.confirmDelete = false;
	 data.directDeleteMode = true;
	 data.deleteData(data.getCurrentRow());
 }finally{
 	data.confirmDelete = confirmDelete;
 	data.directDeleteMode = directDeleteMode;
 }
 

See DirectDeleteMode

See ConfirmDelete

Parameters

Array rows

行数组 缺省当前行 (Optional)

DataConfirmParam options

删除参数
参数格式:

{ "async" : {boolean} - 异步执行,默认:false, "confirm" : {boolean} - 删除确认提示,缺省使用属性confirmDelete "onError" : {function} - 失败回调,function(event), event的格式: { "source" : {Data} - 组件的js对象, "errorType" : {string} - 'server', "errorNode" : {object} - 错误信息, "httpError" : {boolean} - 是否http请求失败, "httpState" : {string} - http请求返回码 } "onSuccess" : {function} - 成功回调,function(event), event的格式: { "source" : {Data} - 组件的js对象 } } (Optional)

Return Value

boolean

public void disableRecordChange ()

禁止data数据修改状态变化

Return Value

void

public void doDeleteAfter (boolean success, Object options, Object params)

业务数据删除后函数,当实现onCustomDelete后需要开发者根据成功失败调用

See RefreshData

See OnCustomRefresh

Parameters

boolean success

删除是否成功,true/false

Object options

删除参数,同deleteData函数的options参数

Object params

开发者传递的参数,可在onAfterDelete、onDeleteError事件或者onSuccess、onError回调接收使用

Return Value

void

public void doRefreshAfter (boolean success, Object options, Object params)

业务数据刷新后函数,当实现onCustomDelete后需要开发者根据成功失败调用

See RefreshData

See OnCustomRefresh

Parameters

boolean success

刷新是否成功,true/false

Object options

刷新参数,同refreshData函数的options参数

Object params

开发者传递的参数,可在onAfterRefresh、onRefreshError事件或者onSuccess、onError回调接收使用

Return Value

void

public void doSaveAfter (boolean success, Object options, Object params)

当实现异步数据保存时,通过函数来完成保存后的逻辑

See SaveData

See OnCustomSave

Parameters

boolean success

保存是否成功,true/false

Object options

保存参数,同saveData函数的options参数

Object params

开发者传递的参数,可在onAfterSave、onSaveError事件或者onSuccess、onError回调接收使用

Return Value

void

public void each (function callback, object caller, Row parent)

遍历当前data的数据,如果是从Data,只遍历和主当前行相关的数据行

  
    var names = [];
    this.comp('mainData').each(function(param){
    	names.push(param.row.val('fName'));
    });
    

Parameters

function callback

回调函数,执行回调函数的this缺省是row对象,或者可以通过caller指定
回调函数给出参数param格式:

{ index: {integer} 行索引, row: {$UI/system/components/justep/data/data#Row} 行对象, cancel: {boolean} 是否忽略遍历, parent: {$UI/system/components/justep/data/data#Row} 行的父对象,当树形数据时有效 }

object caller

执行callback的this,缺省为:遍历行对象

Row parent

树型数据遍历时指定开始遍历的父节点行,缺省从根开始

Return Value

void

public void eachAll (function callback, object caller, Row parent)

遍历当前data的全部数据

  
    var names = [];
    this.comp('mainData').eachAll(function(param){
    	names.push(param.row.val('fName'));
    });
    

Parameters

function callback

回调函数,执行回调函数的this缺省是row对象,或者可以通过caller指定
回调函数给出参数param格式:

{ index: {integer} 行索引, row: {$UI/system/components/justep/data/data#Row} 行对象, cancel: {boolean} 是否忽略遍历, parent: {$UI/system/components/justep/data/data#Row} 行的父对象,当树形数据时有效 }

object caller

执行callback的this,缺省为:遍历行对象

Row parent

树型数据遍历时指定开始遍历的父节点行,缺省从根开始

Return Value

void

public void eachAllByPeek (function callback, object caller, Row parent)

遍历当前data的全部数据,和eachAll的区别在于eachAllByPeek不会使data的数据行进入依赖链

Parameters

function callback

回调函数,执行回调函数的this缺省是row对象,或者可以通过caller指定
回调函数给出参数param格式:

{ index: {integer} 行索引, row: {$UI/system/components/justep/data/data#Row} 行对象, cancel: {boolean} 是否忽略遍历, parent: {$UI/system/components/justep/data/data#Row} 行的父对象,当树形数据时有效 }

object caller

执行callback的this,缺省为:遍历行对象

Row parent

树型数据遍历时指定开始遍历的父节点行,缺省从根开始

Return Value

void

public void eachByPeek (function callback, object caller, Row parent)

遍历当前data的数据,如果是从Data,只遍历和主当前行相关的数据行,和each的区别在于eachByPeek不会使data的数据行进入依赖链

Parameters

function callback

回调函数,执行回调函数的this缺省是row对象,或者可以通过caller指定
回调函数给出参数param格式:

{ index: {integer} 行索引, row: {$UI/system/components/justep/data/data#Row} 行对象, cancel: {boolean} 是否忽略遍历, parent: {$UI/system/components/justep/data/data#Row} 行的父对象,当树形数据时有效 }

object caller

执行callback的this,缺省为:遍历行对象

Row parent

树型数据遍历时指定开始遍历的父节点行,缺省从根开始

Return Value

void

public void enabledRecordChange ()

启用data数据修改状态变化

Return Value

void

public boolean eof ()

当前是否最后行

Return Value

boolean

当前是否最后行

public void exchangeRow (Row row1, Row row2)

数据行进行交换位置

Parameters

Row row1

[required]行1

Row row2

[required]行2

Return Value

void

public boolean exist (String rowID)

判断行是否存在,只判断当前已经加载的数据

Parameters

String rowID

Return Value

boolean

public Array<Row> find (Array fields, Array values, Boolean first, Boolean caseInsensitive, Boolean partialKey, Boolean all)

数据查找

  根据列和值匹配进行数据查找,可以匹配多列
 
 //查找fName中包含"李"的提一条数据
 var rows = this.comp('mainData').find(['fName'],['李'],true,true,true);
 if(rows.length==0) alert('没有符合条件数据');
 //查找fName="李四",fAge=18的数据
 var rows = this.comp('mainData').find(['fName','fAge'],['李',18]);
 if(rows.length==0) alert('没有符合条件数据');
 

Parameters

Array fields

列列表

Array values

值列表

Boolean first

返回第一条

Boolean caseInsensitive

忽略大小写

Boolean partialKey

模糊查询

Boolean all

data所有数据查找,当是从Data时all==false只查找和主关联的行数据

Return Value

Array<Row>

行对象数组

public void first ()

移动到第一条

Return Value

void

public object getAggregateValue (String col)

通过统计列名获取统计值,统计值来源于后端queryAction的aggregate参数定义,详细请参考queryAction

 
  注意:
  1、返回都是字符串类型
  2、统计值更新依赖refreshData,data设置数据分页加载取后续页数据时不会刺激统计计算更新
  后端queryAction的aggregate参数定义:count(SA_OPPerson) as personCount
 //前端js中获取
 this.comp('mainData').getAggregateValue('personCount')
 

Parameters

String col

[required]列名称

扩展类型:COLUMN

Return Value

object

public String getChangedIDs (Data.STATE type, String delim)

获取指定修改状态的行ID字符串

Parameters

Data.STATE type

[required]修改类型,Data.STATE.DELETE/Data.STATE.NEW/Data.STATE.EDIT

String delim

行ID之间的分隔符,缺省:","

Return Value

String

public list<Row> getChangedRows (Data.STATE type)

获取指定修改状态的行数组

Parameters

Data.STATE type

[required]修改类型,取值范围:Data.STATE.DELETE/Data.STATE.NEW/Data.STATE.EDIT

Return Value

list<Row>

public String getColumnIDs ()

返回使用','分隔的data所有列名

Return Value

String

public integer getCount (Row parent)

获取data记录数

Parameters

Row parent

树形数据的父

Return Value

integer

public void getCurrentRow (boolean peek)

获取data当前的行

Parameters

boolean peek

不影响bind计算链,即想获取当前行但是又不感知当前行变化时可以使用getCurrentRow(true)获取当前行

Return Value

void

public Any getCurrentRowID ()

获取data当前的行ID

Return Value

Any

行ID

public String getFilter (String name)

返回指定名称的过滤表达式

Parameters

String name

过滤名称

Return Value

String

public Row getFirstRow ()

获取data的第一行,没有数据时返回null

Return Value

Row

行对象

public Array getIDs ()

获取data所有行的Id数组

Return Value

Array

public string getInvalidInfo (boolean force)

获取data违反约束的信息

Parameters

boolean force

强制判断约束,忽略数据修改状态

Return Value

string

public Row getLastRow ()

获取data的最后一行,没有数据时返回null

Return Value

Row

行对象

public integer getOffset (Row parent)

返回data加载数据的偏移量

Parameters

Row parent

树形数据的父

Return Value

integer

public integer getOrderBy (string relation)

获取查询排序

Parameters

string relation

[required]关系名

Return Value

integer

OrderBy的类型0:DESC/1:ASC

public Any getOriginalValue (string col, Row row)

通过列名和行获取列的原值,保存前获取修改后列原值,保存后同getValue取的值

Parameters

string col

[required]列名称

扩展类型:COLUMN

Row row

行 默认:当前行

Return Value

Any

public boolean getReadonly ()

返回data只读状态

Return Value

boolean

public Row getRowByID (string rowid)

根据行ID获取Row,函数会遍历所有数据,不要在循环中大量使用以免引发性能问题

Parameters

string rowid

行ID,默认:当前行ID

Return Value

Row

public Any getRowID (Row row,行对象)

获取data的行Id,默认获取当前行的id

Parameters

Row row,行对象

Return Value

Any

public integer getRowIndex (Row row)

获取data的行索引

Parameters

Row row

行对象

Return Value

integer

public Data.STATE getRowState (Row row)

获取对应行的状态

Parameters

Row row

[required]

Return Value

Data.STATE

public integer getTotal (Row parent)

返回data的全部记录数,包括分页没有加载的记录数

Parameters

Row parent

树形数据的父

Return Value

integer

public object getTreeOption ()

获取树的定义信息

Return Value

object

包括属性: isDelayLoad 数据分级加载,进入叶子节点进行数据加载 parentRelation 父关系,形成父子树的父关系 rootFilter 根过滤条件,当设置时树形数据将按节点加载数据 nodeKindRelation 节点类型关系,data操作时使用指定relation自动记录是否叶子节点信息

public object getUserData (string name, Row row)

获取用户扩展数据

  
    典型用法:
    1、当queryAction或者createAction返回Table时通过table.getProperties().put("name", "beijing")设置值可以使用this.comp(dataID).getUserData('name')获取
    2、和setUserData函数配合使用扩展data的状态或者行状态
    注意:5.2.6及以后版本提供    

    典型用法1案例:
    //biz端java中createAction设置扩展属性key
	public static Table create(Table table, String concept, Map<String, String> defaultValues, String fnModel) {
		Table t = BizData.create(table, concept, defaultValues, fnModel);
		t.getProperties().put("key", "password");
		return t;
	}
	//前端js中通过data获取    
    this.comp('mainData').getUserData('key');
    典型用法2案例:
    //给当前行增加key
    var data = this.comp('mainData');
    var row = data.getCurrentRow();
    data.setUserData('key','abcdefg',row);
    //读取行的key
    data.getUserData('key', row);    
          

See SetUserData

Parameters

string name

[required]名称

Row row

行,在指定行上获取用户数据,当不给时获取全局用户扩展数据

Return Value

object

public Any getValue (String col, Row row)

通过列名和行获取列的值

Parameters

String col

列名称

扩展类型:COLUMN

Row row

行 默认:当前行 (Optional)

Return Value

Any

public object getValueByID (String col, String rowid)

通过列名和行ID获取列的值,函数会遍历所有数据,不要在循环中大量使用以免引发性能问题

Parameters

String col

列名称

扩展类型:COLUMN

String rowid

行ID (Optional)

Return Value

object

public boolean isCalculateCol (string col)

判断列是否为计算列

Parameters

string col

[required]列名称

扩展类型:COLUMN

Return Value

boolean

public boolean isChanged ()

判断data是否修改,包括从data的修改状态

Return Value

boolean

public boolean isLeaf (Row row)

判断给定行是不是叶子节点

Parameters

Row row

[required]行对象

Return Value

boolean

public boolean isSelfChanged ()

判断data自身是否修改

Return Value

boolean

public boolean isSlaveChanged ()

判断从data是否修改

Return Value

boolean

public boolean isTree ()

判断当前data是不是tree数据

Return Value

boolean

public boolean isValid (boolean force)

判断data是否违反约束

Parameters

boolean force

强制判断约束,忽略数据修改状态

Return Value

boolean

public string label (string col)

通过列名获取显示名称

Parameters

string col

[required]列名称

扩展类型:COLUMN

Return Value

string

public void last ()

移动到最后一条

Return Value

void

public boolean loadAllPageData (Object options)

在分页状态加载所有数据

See GetOffset

See $UI/system/components/justep/data/data#setOffset

See Limit

See RefreshData

See LoadPageData

See LoadNextPageData

Parameters

Object options

刷新参数
参数格式:

{ "onError" : {function} - 失败回调,function(event), event的格式: { "source" : {Data} - 组件的js对象, "errorType" : {string} - 'server', "errorNode" : {object} - 错误信息, "httpError" : {boolean} - 是否http请求失败, "httpState" : {string} - http请求返回码 } "onSuccess" : {function} - 成功回调,function(event), event的格式: { "source" : {Data} - 组件的js对象 } }

Return Value

boolean

public void loadData (JSON data, Boolean append, integer index, boolean override)

加载数据

Parameters

JSON data

需要加载的数据 格式同biz层序列化格式

Boolean append

增加模式 数据增加模式 true/false

integer index

位置 加载数据的插入位置,缺省数据插入到末尾

boolean override

覆盖 当出现id相同的行时,进行数据覆盖替换

Return Value

void

public boolean loadNextPageData (Object options)

加载下一页的数据,受offset、limit影响

See GetOffset

See $UI/system/components/justep/data/data#setOffset

See Limit

See RefreshData

See LoadPageData

See LoadAllPageData

Parameters

Object options

刷新参数
参数格式:

{ "onError" : {function} - 失败回调,function(event), event的格式: { "source" : {Data} - 组件的js对象, "errorType" : {string} - 'server', "errorNode" : {object} - 错误信息, "httpError" : {boolean} - 是否http请求失败, "httpState" : {string} - http请求返回码 } "onSuccess" : {function} - 成功回调,function(event), event的格式: { "source" : {Data} - 组件的js对象 } }

Return Value

boolean

public boolean loadPageData (integer pageIndex, Object options)

分页模式下加载第N页数据

See GetOffset

See $UI/system/components/justep/data/data#setOffset

See Limit

See RefreshData

See LoadNextPageData

See LoadAllPageData

Parameters

integer pageIndex

[required]页索引

Object options

刷新参数
参数格式:

{ "async" : {boolean} - 异步执行,默认:false, "confirm" : {boolean} - 刷新提示,缺省使用属性confirmRefresh "onError" : {function} - 失败回调,function(event), event的格式: { "source" : {Data} - 组件的js对象, "errorType" : {string} - 'server', "errorNode" : {object} - 错误信息, "httpError" : {boolean} - 是否http请求失败, "httpState" : {string} - http请求返回码 } "onSuccess" : {function} - 成功回调,function(event), event的格式: { "source" : {Data} - 组件的js对象 } }

Return Value

boolean

public number max (string column, function filterCallback)

获取data中指定列的最大值,函数返回的是前端当前已经加载记录的最大值,不包含分页还没有加载到前端的数据,注意:返回的数值精度受js的number精度影响(如果从data,只计算和主关联的从数据)

  
    //统计mainData中年龄fAge最大值
    var min = this.comp('mainData').max('fAge');
    //统计mainData中fName姓“李”的年龄fAge最大值
    var avg = this.comp('mainData').max('fAge',function(ev){
    	var v = ev.source.getValue('fName',ev.row);
    	return v.indexOf('李')==0;
    });
    

Parameters

string column

[required]进行统计的列

function filterCallback

过滤的回调函数,需要返回boolean,为true时行有效,回调函数给出参数event,{'data':data对象,row:行},缺省全部有效

Return Value

number

public number maxByAll (string column, function | Row filterCallback)

获取data中指定列的最大值,(如果从data,按全部从数据计算),当Data是从Data时filterCallback可以直接为主Data的Row对象,即计算和主data给定行相关的统计

Parameters

string column

[required]进行统计的列

function | Row filterCallback

过滤的回调函数,需要返回boolean,为true时行有效,回调函数给出参数event,{'data':data对象,row:行},缺省全部有效

Return Value

number

public number min (string column, function filterCallback)

获取data中指定列的最小值,函数返回的是前端当前已经加载记录的最小值,不包含分页还没有加载到前端的数据,注意:返回的数值精度受js的number精度影响(如果从data,只计算和主关联的从数据)

  
    //统计mainData中年龄fAge最小值
    var min = this.comp('mainData').min('fAge');
    //统计mainData中fName姓“李”的年龄fAge最小值
    var avg = this.comp('mainData').min('fAge',function(ev){
    	var v = ev.source.getValue('fName',ev.row);
    	return v.indexOf('李')==0;
    });
    

Parameters

string column

[required]进行统计的列

function filterCallback

过滤的回调函数,需要返回boolean,为true时行有效,回调函数给出参数event,{'data':data对象,row:行},缺省全部有效

Return Value

number

public number minByAll (string column, function | Row filterCallback)

获取data中指定列的最小值,(如果从data,按全部从数据计算),当Data是从Data时filterCallback可以直接为主Data的Row对象,即计算和主data给定行相关的统计

Parameters

string column

[required]进行统计的列

function | Row filterCallback

过滤的回调函数,需要返回boolean,为true时行有效,回调函数给出参数event,{'data':data对象,row:行},缺省全部有效

Return Value

number

public List newData (JSON options)

业务数据新增方法,支持返回多行

 
 
 	//新增两行数据到最后,并且给出sName和sCode的默认值
 	var data = this.comp('mainData');
 	var options = {
 		defaultValues : [
 			{sName:'a1',sCode:'b1'},
 			{sName:'a2',sCode:'b2'}
 		]
 	};	
 	data.newData(options);
 

Parameters

JSON options

新增参数 ,支持多行新增
参数格式:

{ "parent" : $UI/system/components/justep/data/data#Row - 树形数据的父(非树形不需要), "index" : integer - 新增数据的位置,缺省新增到最后, "defaultValues" : array - 新增行的默认值数组 ,数组的长度决定新增行数,数组中的对象是列的默认值 defaultValues格式: [ {列名:默认值,...}, {列名:默认值,...}, ... ] "onError" : function - 失败回调函数,function(event); event的格式: { "source" : {Data} - 组件的js对象, "errorType" : {string} - 'server', "errorNode" : {object} - 错误信息, "httpError" : {boolean} - 是否http请求失败, "httpState" : {string} - http请求返回码 } "onSuccess" : function - 成功回调函数,function(event); event的格式: { "source" : {Data} - 组件的js对象, "rows" : {List} - 新增行的数组 } }

Return Value

List

返回新增行的rows

public void next ()

移动到下一条

Return Value

void

public void open ()

当data.isLoaded()!=true时执行data的refreshData

Return Value

void

public void pre ()

移动到前一条

Return Value

void

public object ref (string col, Row row)

通过列名获取列绑定对象

Parameters

string col

[required]列名称

扩展类型:COLUMN

Row row

行,默认:当前行

Return Value

object

public boolean refreshData (RefreshDataParam options)

业务数据刷新,会刺激从data级联刷新,当limit!=-1时取第一页数据,当limit=-1时取全部数据,当confirmRefresh=true并且数据是编辑或者新增状态时刷新数据时显示刷新确认提示框

 
 
 //强制刷新data
 var data = this.comp('mainData');
 var confirmRefresh = data.confirmRefresh;
 try{
	 data.confirmRefresh = false;
	 data.refreshData();
 }finally{
 	data.confirmRefresh = confirmRefresh;
 }
 		

See Limit

See ConfirmRefresh

See LoadPageData

See LoadNextPageData

See LoadAllPageData

Parameters

RefreshDataParam options

刷新参数
参数格式:

{ "async" : {boolean} - 异步执行,默认:false, "append" : {boolean} - 增量刷新,不清除原有数据,默认:false, "confirm" : {boolean} - 刷新提示,缺省使用属性confirmRefresh "onError" : {function} - 失败回调,function(event), event的格式: { "source" : {Data} - 组件的js对象, "errorType" : {string} - 'server', "errorNode" : {object} - 错误信息, "httpError" : {boolean} - 是否http请求失败, "httpState" : {string} - http请求返回码 } "onSuccess" : {function} - 成功回调,function(event), event的格式: { "source" : {Data} - 组件的js对象 } }

Return Value

boolean

public void remove (Row row)

移除一行数据,只在前端移除不影响数据库

Parameters

Row row

[required]

Return Value

void

public Boolean saveData (Object options)

业务数据保存方法,向后端提交修改的数据,包括从Data数据

 
 
 	//保存成功后刷新data
 	this.comp('mainData').saveData(
	 {
	 	"onSuccess" : function(event){
	 		event.source.refreshData();
	 	}
 	 });
 		

Parameters

Object options

参数
参数格式:

{ "onError" : {function} - 失败回调,function(event), event的格式: { "source" : {Data} - 组件的js对象, "errorType" : {string} - 'server', "errorNode" : {object} - 错误信息, "httpError" : {boolean} - 是否http请求失败, "httpState" : {string} - http请求返回码 } "onSuccess" : {function} - 成功回调,function(event), event的格式: { "source" : {Data} - 组件的js对象 } "ignoreInvalid" : {boolean} - 保存时忽略有效性校验,默认false "onlySelf" : {boolean} - 只保存自己不保存从 }

Return Value

Boolean

public void setFilter (String name, String filter)

设置指定名称的过滤表达式,所有的过滤将按and连接

  
    var data = this.comp('mainData');
    data.setFilter('filter1',"SA_OPPerson.sName like '%李%'");
    data.setFilter('filter2',"SA_OPPerson.sCode = :operatorCode() or SA_OPPerson.sCode = :code");
    //给变参code赋值
    data.filters.setStringVar("code","code_abc");
    //最终qureyAction的KSQL中where部分将增加 and ((SA_OPPerson.sName like '%李%') and (SA_OPPerson.sCode = :operatorCode() or SA_OPPerson.sCode = 'code_abc'))
    

Parameters

String name

过滤名称

String filter

过滤表达式 标准的KSQL语法,如:SA_OPPerson.sName like '%李%'

Return Value

void

public void setOrderBy (string relation, integer type)

设置查询排序

Parameters

string relation

[required]关系名

integer type

OrderBy的类型0:DESC/1:ASC,为null时清空对应关系的排序

Return Value

void

public void setRowState (Row row, Data.STATE state)

设置行的状态,特殊说明:不能设置delete状态,使用deleteData函数实现

See DeleteData

Parameters

Row row

[required]

Data.STATE state

[required]状态

Return Value

void

public void setTotal (integer count, Row parent)

设置全部记录数,包括分页没有加载的记录数

Parameters

integer count

全部记录数

Row parent

树形数据的父

Return Value

void

public void setUserData (String name, String value, Row row)

设置用户扩展数据

See GetUserData

Parameters

String name

[required]名称

String value

[required]数据

Row row

行,在指定行上设置扩展用户数据,当不给时设置全局用户扩展数据

Return Value

void

public void setValue (String col, Any value, Row row)

通过列名和行设置列的值

Parameters

String col

列名称

扩展类型:COLUMN

Any value

Row row

行 默认:当前行 (Optional)

Return Value

void

public void setValueByID (string col, object value, string rowid)

通过列名和行设置列的值,函数会遍历所有数据,不要在循环中大量使用以免引发性能问题

Parameters

string col

[required]列名称

扩展类型:COLUMN

object value

[required]

string rowid

行ID,默认:当前行ID

Return Value

void

public void sort (function callback)

data的所有数据进行排序

  
    this.comp('mainData').sort(function(row1,row2){
    	return row1.val('fage')>row2.val('fage')?1:-1;
    });
  

Parameters

function callback

排序函数,和原生array的sort排序回调一致,回调给出两个row参数
参数说明:

row1:{$UI/system/components/justep/data/data#Row} 比较的行1 row2:{$UI/system/components/justep/data/data#Row} 比较的行2

Return Value

void

public Number sum (String column, function filterCallback)

获取data中指定列的合计,函数返回的是前端当前已经加载记录的合计,不包含分页还没有加载到前端的数据,注意:返回的数值精度受js的number精度影响(如果从data,只计算和主关联的从数据)

  
    //统计mainData中年龄fAge合计
    var sum = this.comp('mainData').sum('fAge');
    //统计mainData中fName姓“李”的年龄fAge合计
    var sum = this.comp('mainData').sum('fAge',function(ev){
    	var v = ev.source.getValue('fName',ev.row);
    	return v.indexOf('李')==0;
    });
    

Parameters

String column

30 [required]进行统计的列

function filterCallback

过滤的回调函数,需要返回boolean,为true时行有效,回调函数给出参数event,{'data':data对象,row:行},缺省全部有效

Return Value

Number

public number sumByAll (string column, function | Row filterCallback)

获取data中指定列的合计(如果从data,按全部从数据计算),当Data是从Data时filterCallback可以直接为主Data的Row对象,即计算和主data给定行相关的统计

Parameters

string column

[required]进行统计的列

function | Row filterCallback

过滤的回调函数,需要返回boolean,为true时行有效,回调函数给出参数event,{'data':data对象,row:行},缺省全部有效,当Data是从Data时可以直接给出主Data的Row对象,即计算和主data给定行相关的统计

Return Value

number

public void to (Row | string row)

移动到指定行

Parameters

Row | string row

行或者行ID

Return Value

void

public Object toJson (JsonParam option)

获取data的json格式序列化对象,注:兼容原版本的changed、excludeCalculateCol参数用法

Parameters

JsonParam option

序列化参数
参数说明:

onlyChanged:{boolean} 只序列化data的变化行,缺省:false excludeCalculateCol:{boolean} 排除data定义计算列,缺省:false excludeCols:{array[string]} 排除列 format: {string} json格式,当设置为:'simple'时输出格式为{fName:'张三',fAge:18,...}

Return Value

Object

data的json格式序列化对象

public object val (string col, Row row)

通过列名和行获取值等同于getValue

Parameters

string col

[required]列名称

扩展类型:COLUMN

Row row

行,默认:当前行

Return Value

object

Operations Detail Top

public clear ()

清空data的所有数据,会触发data的onDataChanged事件

public void delete (List.<Row> | Row 删除的行或者行数组,缺省为当前行)

删除数据

See DeleteData

Parameters

List.<Row> | Row 删除的行或者行数组,缺省为当前行

Return Value

void

public void deleteAll (boolean force)

删除全部数据

See DeleteData

Parameters

boolean force

禁止提示

Return Value

void

public void firstPage ()

加载第一页数据,当设置limit有效

Return Value

void

public void firstRow ()

游标定位到第一条

Return Value

void

public void lastPage ()

加载最后一页数据,当设置limit有效

Return Value

void

public void lastRow ()

游标定位到最后一条

Return Value

void

public void loadAllPage ()

加载剩余所有数据,当设置limit有效

Return Value

void

public void loadNextPage ()

加载下页数据,当设置limit有效,增量加载

Return Value

void

public void loadPage (integer pageIndex)

加载页数据,当设置limit有效

Parameters

integer pageIndex

[required]页索引

Return Value

void

public void new (Array<Row> defaultValues, integer index)

新增数据

See NewData

Parameters

Array<Row> defaultValues

默认值

integer index

插入位置

Return Value

void

public void newBrother (Row parent)

新增同级数据

See NewData

Parameters

Row parent

父,默认当前

Return Value

void

public void newChild (Row parent)

新增子数据

See NewData

Parameters

Row parent

父,默认当前

Return Value

void

public void nextPage ()

加载下一页数据,当设置limit有效

Return Value

void

public void nextRow ()

游标定位到下一条

Return Value

void

public void prevPage ()

加载前一页数据,当设置limit有效

Return Value

void

public void prevRow ()

游标定位到上一条

Return Value

void

public void refresh (boolean force)

刷新数据

See RefreshData

Parameters

boolean force

禁止提示

Return Value

void

public void save ()

保存数据

See SaveData

Return Value

void

Events Detail Top

public void onAfterDelete (AfterDeleteEvent event)

[回调型事件]业务数据删除后

Parameters

AfterDeleteEvent event


结构如下:

{ "source" : 组件的js对象, "deleteRows" : 删除的行数组 }

Return Value

void

public void onAfterNew (AfterNewEvent event)

[回调型事件]业务数据新增后

Parameters

AfterNewEvent event


结构如下:

{ "source" : 组件的js对象, "option" : 新增时传入的option参数,包括:parent,defaultValues "rows" : {List} 新增的行数组 }

Return Value

void

public void onAfterRefresh (AfterRefreshEvent event)

[回调型事件]业务数据刷新后

Parameters

AfterRefreshEvent event


结构如下:

{ "source" : 组件的js对象 "limit" : 页大小, "offset" : 偏移, "options" : 刷新给入的参数 "success" : 是否成功刷新 }

Return Value

void

public void onAfterSave (BeforeSaveEvent event)

[回调型事件]业务数据保存后,事件在批事务启动后触发,写在这个事件里的biz action请求将在一个批操作完成

Parameters

BeforeSaveEvent event


结构如下:

{ "source":组件的js对象, "cancel" : 可修改,设置为true后中断当前保存动作 "options" : 保存时给入的参数 }

Return Value

void

public void onBeforeDelete (BeforeDeleteEvent event)

[回调型事件]业务数据删除前

Parameters

BeforeDeleteEvent event


结构如下:

{ "source" : 组件的js对象, "cancel" : 可修改,设置为true后中断当前delete动作, "deleteRows" : 删除的行数组 }

Return Value

void

public void onBeforeNew (BeforeNewEvent event)

[回调型事件]业务数据新增前

Parameters

BeforeNewEvent event


结构如下:

{ "source" : 组件的js对象, "option" : 新增时传入的option参数,包括:parent,defaultValues "cancel" : 可修改,设置为true后中断当前new动作 }

Return Value

void

public void onBeforeRefresh (BeforeRefreshEvent event)

[回调型事件]业务数据刷新前

Parameters

BeforeRefreshEvent event


结构如下:

{ "source" : 组件的js对象, "options" : 刷新给入的参数 "cancel" : 可修改,设置为true后中断当前刷新动作 }

Return Value

void

public void onBeforeSave (BeforeSaveEvent event)

[回调型事件]业务数据保存前,事件在批事务启动后触发,写在这个事件里的biz action请求将在一个批操作完成

Parameters

BeforeSaveEvent event


结构如下:

{ "source" : 组件的js对象, "cancel" : 可修改,设置为true后中断当前保存动作 "options" : 保存时给入的参数 }

Return Value

void

public void onCreate (ModelEvent event)

[回调型事件]组件创建时

Parameters

ModelEvent event


结构如下:

{ "source" : 组件的js对象 }

Return Value

void

public void onCustomDelete (BeforeDeleteEvent event)

[回调型事件]业务数据删除接管,完全接管delete动作

Parameters

BeforeDeleteEvent event


结构如下:

{ "source" : 组件的js对象, "cancel" : 可修改,设置为true后中断当前delete动作, "promise": 返回删除操作后的promise,根据返回promise自动完成doDeleteAfter "option": 删除参数 "deleteRows" : 删除的行数组, "async": 兼容保留,通过返回promise代替 }

Return Value

void

public void onCustomNew (CustomNewEvent event)

[回调型事件]业务数据新增接管,完全接管new动作,需要接管此事件完成data的newData逻辑

See Data.STATE

See NewData

Parameters

CustomNewEvent event


结构如下:

{ "source" : 组件的js对象, "option" : 新增时传入的option参数,包括:parent,defaultValues "data" : 行数据对象数组[{sName:'LiMing',sAge:18},...],数组的length决定新增的行数 data格式: [ { "列名" : 默认值, "列名" : 默认值, ... }, ... ] }

Return Value

void

public void onCustomRefresh (CustomRefreshEvent event)

[回调型事件]业务数据刷新接管,完全接管刷新动作

Parameters

CustomRefreshEvent event


结构如下:

{ "source" : 组件的js对象, "cancel" : 可修改,设置为true后中断当前刷新动作, "limit" : 页大小, "offset" : 偏移, "promise": 返回刷新操作后的promise,根据返回promise自动完成doRefreshAfter "async" : 兼容保留,通过返回promise代替,是不是异步刷新,如果是异步操作,修改async=true,同时在刷新加载数据后调用data.doRefreshAfter() "options" : 刷新给入的参数 }

Return Value

void

public void onCustomSave (CustomSaveEvent event)

[回调型事件]业务数据保存接管,完全接管保存动作

Parameters

CustomSaveEvent event


结构如下:

{ "source" : 组件的js对象, "cancel" : 可修改,设置为true后中断当前保存动作 "promise": 返回保存操作后的promise,根据返回promise自动完成doSaveAfter "async" : 兼容保留,通过返回promise代替,是不是异步保存,如果是异步操作,修改async=true,同时在保存数据后调用data.doSaveAfter() "options" : 保存时给入的参数 }

Return Value

void

public void onDataChange (DataChangeEvent event)

[回调型事件]数据发生变化(包括新增、刷新、删除、修改引起的变化),感知从data的变化

Parameters

DataChangeEvent event


结构如下:

{ "source" : 组件的js对象, "changedSource" :触发变化的组件的js对象,当从data触发时返回从data对象, "selfChanged" : 是否自身变化,false:从data触发的变化, "type" : 触发变化的类型,包括:new、delete、refresh、valueChanged、clear、slaveDataChanged、exchangeRow,其他参数根据触发类型不同给出不同参数,参考onAfterNew等事件参数 }

Return Value

void

public void onIndexChanged (IndexChangedEvent event)

[回调型事件]行记录变化

Parameters

IndexChangedEvent event


结构如下:

{ "source" : 组件的js对象, "row" : 行, "originalRow" : 原行 }

Return Value

void

public void onIndexChanging (IndexChangingEvent event)

[回调型事件]行记录变化中

Parameters

IndexChangingEvent event


结构如下:

{ "source" : 组件的js对象, "row" : 行, "originalRow" : 原行, "cancel" : 取消切换index }

Return Value

void

public void onLoadSlave (LoadSlaveEvent event)

[回调型事件]data加载从数据

Parameters

LoadSlaveEvent event


结构如下:

{ "source" : 组件的js对象 "masterRow" : 主Data的当前行 "loaded" : 是否完成加载 }

Return Value

void

public void onSaveCommit (ModelEvent event)

[回调型事件]业务数据保存事务提交后,数据提交成功

Parameters

ModelEvent event


结构如下:

{ "source" : 组件的js对象 }

Return Value

void

public void onValueChange (ValueChangeEvent event)

[回调型事件]数据变化

Parameters

ValueChangeEvent event


结构如下:

{ "source" : 组件的js对象, "row" : 行, "col" : 列, "newValue" : 新值, "oldValue" : 旧值 }

Return Value

void

public void onValueChanged (ValueChangedEvent event)

[回调型事件]数据变化后

Parameters

ValueChangedEvent event


结构如下:

{ "source" : 组件的js对象, "row" : 行, "col" : 列, "value" : 值 }

Return Value

void