API
Component

TableData ($UI/wxsys/comps/tableData/tableData)

使用范围:WX

Contents

component TableData ($UI/wxsys/comps/tableData/tableData) extends Data

静态数据集

Constructor Top

  TableData ()
  TableData ( config)

Properties Top

Agg agg

统计数据对象

Row current

当前行对象

Array<Row> value

所有行对象

Methods Top

number avg (string column进行统计的列, function filterCallback)
Boolean bof ()
String buildFilter ()
string col (string col)
Integer count (Function filterCallback)
void each (function callback)
Boolean eof ()
void exchangeRow (Row row1, Row row2)
void fieldsValue (Row row, Any options)
Array<Row> find (Array fields, Array values, Boolean first, Boolean caseInsensitive, Boolean partialKey)
void first ()
String getColumnIDs ()
Integer getCount ()
Row getCurrentRow ()
String getCurrentRowID ()
String getCurrentRowID ()
String getCurrentRowState ()
String getFilter (String name)
Row getFirstRow ()
String getIdColumn ()
Array getIDs ()
Integer getIndex (Row row)
Row getLastRow ()
Integer getLimit ()
Integer getOffset ()
Integer getOrderBys (String relation)
Row getRowByID (String rowid)
Any getRowID (Any row)
Integer getRowIndex ()
Integer getTotal ()
Any getValue (String col, Row row)
Any getValueByID (String col, String rowid)
string label (string col)
void last ()
number max (string column进行统计的列, function filterCallback)
number min (string column进行统计的列, function filterCallback)
void next ()
void pre ()
void setFilter (String name, String filter)
void setOrderBy (String relation, Integer type)
void setTotal (Integer count)
void setValue (String col, Any value, Row row)
void setValueByID (String col, Any value, String rowid)
number sum (string column进行统计的列, function filterCallback)
void to (Row row)

Operations Top

clear ()
void delete (Any rows)
void deleteAll (boolean force)
void firstPage ()
void firstRow ()
void lastPage ()
void lastRow ()
void loadAllPage ()
loadFromStorage (String key)
void loadNextPage ()
void loadPage (Integer pageIndex)
void new (Array<Row> defaultValues, integer index)
void nextPage ()
void nextRow ()
void prevPage ()
void prevRow ()
void refresh (boolean force)
removeStorage (String key)
void save ()
saveToStorage (String key)

Events Top

void dataChange (DataChangeEvent event)
void valueChanged (ValueChangedEvent event)

Constructor details Top

public TableData ()

静态数据集

public TableData ( config)

构造函数

Inherited from Operational

Parameters

config

操作配置

Properties Detail Top

public Agg agg

统计数据对象

public Row current

当前行对象

public Array<Row> value

所有行对象

Methods Detail Top

public number avg (string column进行统计的列, function filterCallback)

获取data中指定列的平均值,函数返回的是前端当前已经加载记录的平均值,不包含分页还没有加载到前端的数据,注意:返回的数值精度受js的number精度影响

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

Parameters

string column进行统计的列
function filterCallback

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

Return Value

number

public Boolean bof ()

当前是否第一行

Return Value

Boolean

当前是否第一行

public String buildFilter ()

生成返回过滤字符串

Return Value

String

public string col (string col)

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

Parameters

string col

[required]列名称

扩展类型:COLUMN

Return Value

string

public Integer count (Function filterCallback)

获取data的记录数,函数返回的是前端当前已经加载的数据的记录数,不包含分页还没有加载到前端的数据

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

Parameters

Function filterCallback

100 回调函数
参数格式:

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

Return Value

Integer

行数

public void each (function callback)

遍历当前data的数据

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

Parameters

function callback

回调函数 执行回调函数的this是data对象
回调函数给出参数param格式:

{ index: {integer} 行索引, row: {$UI/wxsys/comps/tableData/tableData#Row} 行对象 }

Return Value

void

public Boolean eof ()

当前是否最后行

Return Value

Boolean

当前是否最后行

public void exchangeRow (Row row1, Row row2)

行交换

Parameters

Row row1

行1

Row row2

行2

Return Value

void

public void fieldsValue (Row row, Any options)

多列赋值

Parameters

Row row

行 默认:当前行

Any options

赋值参数

Return Value

void

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

数据查找

  根据列和值匹配进行数据查找,可以匹配多列
 
 //查找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

模糊查询

Return Value

Array<Row>

行对象数组

public void first ()

移动到第一条

Return Value

void

public String getColumnIDs ()

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

Return Value

String

public Integer getCount ()

获取data记录数

Return Value

Integer

public Row getCurrentRow ()

获取data当前的行

Return Value

Row

public String getCurrentRowID ()

获取data当前的行ID

Return Value

String

行ID

public String getCurrentRowID ()

获取data当前的行ID

Return Value

String

行ID

public String getCurrentRowState ()

获取data当前的行状态;分别对应new,edit,delete,none

Return Value

String

public String getFilter (String name)

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

Parameters

String name

过滤名称

Return Value

String

public Row getFirstRow ()

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

Return Value

Row

行对象

public String getIdColumn ()

获取主键列

Return Value

String

public Array getIDs ()

获取data所有数据行Id

Return Value

Array

public Integer getIndex (Row row)

获取跨页序号

Parameters

Row row

Return Value

Integer

序号

public Row getLastRow ()

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

Return Value

Row

行对象

public Integer getLimit ()

返回data加载数据的页大小

Return Value

Integer

public Integer getOffset ()

返回data加载数据的偏移量

Return Value

Integer

public Integer getOrderBys (String relation)

获取查询排序

Parameters

String relation

关系名

Return Value

Integer

OrderBy的类型0:DESC/1:ASC

public Row getRowByID (String rowid)

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

Parameters

String rowid

行ID 默认:当前行ID

Return Value

Row

public Any getRowID (Any row)

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

Parameters

Any row

行对象

Return Value

Any

public Integer getRowIndex ()

获取行索引

Return Value

Integer

行索引

public Integer getTotal ()

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

Return Value

Integer

public Any getValue (String col, Row row)

通过列名和行获取列的值

Parameters

String col

列名称

Row row

行 默认:当前行

Return Value

Any

public Any getValueByID (String col, String rowid)

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

Parameters

String col

列名称

String rowid

行ID (Optional)

Return Value

Any

public string label (string col)

通过列名获取显示名称

Parameters

string col

[required]列名称

扩展类型:COLUMN

Return Value

string

public void last ()

移动到最后一条

Return Value

void

public number max (string column进行统计的列, function filterCallback)

获取data中指定列的最大值,函数返回的是前端当前已经加载记录的最大值,不包含分页还没有加载到前端的数据,注意:返回的数值精度受js的number精度影响

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

Parameters

string column进行统计的列
function filterCallback

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

Return Value

number

public number min (string column进行统计的列, function filterCallback)

获取data中指定列的最小值,函数返回的是前端当前已经加载记录的最小值,不包含分页还没有加载到前端的数据,注意:返回的数值精度受js的number精度影响

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

Parameters

string column进行统计的列
function filterCallback

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

Return Value

number

public void next ()

移动到下一条

Return Value

void

public void pre ()

移动到前一条

Return Value

void

public void setFilter (String name, String filter)

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

Parameters

String name

过滤名称

String filter

过滤表达式

Return Value

void

public void setOrderBy (String relation, Integer type)

设置查询排序

Parameters

String relation

关系名

Integer type

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

Return Value

void

public void setTotal (Integer count)

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

Parameters

Integer count

全部记录数

Return Value

void

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

通过列名和行设置列的值

Parameters

String col

列名称

Any value

Row row

行 默认:当前行

Return Value

void

public void setValueByID (String col, Any value, String rowid)

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

Parameters

String col

列名称

Any value

String rowid

行ID 默认:当前行ID

Return Value

void

public number sum (string column进行统计的列, function filterCallback)

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

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

Parameters

string column进行统计的列
function filterCallback

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

Return Value

number

public void to (Row row)

移动到指定行

Parameters

Row row

Return Value

void

Operations Detail Top

public clear ()

清除数据,前端数据清除不影响数据库中数据

public void delete (Any rows)

删除数据

See DeleteData

Parameters

Any rows

删除的行 或者行数组 缺省为当前行

Return Value

void

public void deleteAll (boolean force)

删除全部数据

See DeleteData

Parameters

boolean force

禁止提示

Return Value

void

public void firstPage ()

加载第一页数据

Return Value

void

public void firstRow ()

将第一行设置为当前行

Return Value

void

public void lastPage ()

加载最后一页数据

Return Value

void

public void lastRow ()

将最后一行设置为当前行

Return Value

void

public void loadAllPage ()

加载全部数据

Return Value

void

public loadFromStorage (String key)

从localStorage加载数据

Parameters

String key

键值 缺省page.id@data.id

public void loadNextPage ()

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

Return Value

void

public void loadPage (Integer pageIndex)

刷新之后加载的是第一页数据,使用加载页直接加载指定页

Parameters

Integer pageIndex

页索引

Return Value

void

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

在目标数据集中新增一条数据。插入位置设置为0,表示在最前面插入新数据

See NewData

Parameters

Array<Row> defaultValues

默认值

integer index

插入位置

Return Value

void

public void nextPage ()

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

Return Value

void

public void nextRow ()

将下一行设置为当前行

Return Value

void

public void prevPage ()

加载上一页数据

Return Value

void

public void prevRow ()

将上一行设置为当前行

Return Value

void

public void refresh (boolean force)

重新加载数据

See RefreshData

Parameters

boolean force

禁止提示

Return Value

void

public removeStorage (String key)

删除localStorage中data的数据

Parameters

String key

键值 缺省page.id@data.id

public void save ()

保存数据

See SaveData

Return Value

void

public saveToStorage (String key)

data数据存储到localStorage

Parameters

String key

键值 缺省page.id@data.id

Events Detail Top

public void dataChange (DataChangeEvent event)

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

Parameters

DataChangeEvent event


结构如下:

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

Return Value

void

public void valueChanged (ValueChangedEvent event)

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

Parameters

ValueChangedEvent event


结构如下:

{ "source" : 数据对象, "row" : 行, "col" : 列, "value" : 值 }

Return Value

void