[]
        
(Showing Draft Content)

GC.Spread.Sheets.Tables.Table

类: Table

Sheets.Tables.Table

Table of contents

构造方法

方法

构造方法

constructor

new Table(name?, row?, col?, rowCount?, colCount?, style?)

可被添加到表单的表格

参数

属性名 类型 说明
name? string 表格名称
row? number 表格行索引
col? number 表格列索引
rowCount? number 表格行数
colCount? number 表格列数
style? TableTheme 表格样式

方法

allowAutoExpand

allowAutoExpand(allowAutoExpandState?): boolean | Table

获取或设置表格的allowAutoExpandState

代码示例

console.log(table.allowAutoExpand());
table.allowAutoExpand(true);

参数

属性名 类型
allowAutoExpandState? boolean

返回值

boolean | Table

如果未设置allowAutoExpandState,则返回表格allowAutoExpandState; 否则,返回表格


autoGenerateColumns

autoGenerateColumns(value?): any

获取或设置绑定到数据源时是否自动生成列

代码示例

var data = {
    sales: [
        {orderDate: '1/6/2013', item: 'Pencil', units: 95},
        {orderDate: '4/1/2013', item: 'Binder', units: 60},
        {orderDate: '6/8/2013', item: 'Pen Set', units: 16}
    ]
};
var table = sheet.tables.add('tableSales', 0, 0, 5, 1); // only 1 column
var tableColumn1 = new GC.Spread.Sheets.Tables.TableColumn(1, "orderDate", "Order Date", "d/M/yy");
var tableColumn2 = new GC.Spread.Sheets.Tables.TableColumn(2, "item", "Item");
var tableColumn3 = new GC.Spread.Sheets.Tables.TableColumn(3, "units", "Units");

table.autoGenerateColumns(false);
table.bind([tableColumn1, tableColumn2, tableColumn3], 'sales', data);
console.log(table.dataRange().colCount);    // 1

table.autoGenerateColumns(true);
table.bind([tableColumn1, tableColumn2, tableColumn3], 'sales', data);
console.log(table.dataRange().colCount);    // 3

参数

属性名 类型 说明
value? boolean 绑定到数据源时是否自动生成列

返回值

any

如果未设置任何值,则返回绑定到数据源时是否自动生成列;否则,返回表格


bandColumns

bandColumns(value?): any

获取或设置一个值,该值指示是否显示交替的列样式

代码示例

var sTable = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableThemes.medium2);
sTable.bandColumns(true);
sTable.bandRows(true);

参数

属性名 类型 说明
value? boolean 是否显示交替的列样式

返回值

any

如果未设置任何值,则返回是否显示交替的列样式;否则,返回表格


bandRows

bandRows(value?): any

获取或设置一个值,该值指示是否显示交替的行样式

代码示例

var sTable = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableThemes.medium2);
sTable.bandColumns(true);
sTable.bandRows(true);

参数

属性名 类型 说明
value? boolean 是否显示交替的行样式

返回值

any

如果未设置任何值,则返回是否显示交替的行样式;否则,返回表格


bind

bind(columns, path?, dataSource?): Table

获取或设置表的数据源以及绑定列和路径

代码示例

var data = {
  name: 'Jones', region: 'East',
  sales: [
    {orderDate: '1/6/2013', item: 'Pencil', units: 95, cost: 1.99, isMakeMoney: true},
    {orderDate: '4/1/2013', item: 'Binder', units: 60, cost: 4.99, isMakeMoney: false},
    {orderDate: '6/8/2013', item: 'Pen Set', units: 16, cost: 15.99, isMakeMoney: false}
  ]
};
var convert = function (item) {
  return item['cost'] + '$';
}
var table = sheet.tables.add('tableSales', 0, 0, 5, 5);
var tableColumn1 = new GC.Spread.Sheets.Tables.Tables.TableColumn(1, "orderDate", "Order Date", "d/M/yy");
var tableColumn2 = new GC.Spread.Sheets.Tables.Tables.TableColumn(2, "item", "Item");
var tableColumn3 = new GC.Spread.Sheets.Tables.Tables.TableColumn(3, "units", "Units");
var tableColumn4 = new GC.Spread.Sheets.Tables.Tables.TableColumn(4, "cost", "Cost", null, null, convert);
var tableColumn5 = new GC.Spread.Sheets.Tables.Tables.TableColumn(5, "isMakeMoney", "IsMakeMoney", null, new GC.Spread.Sheets.CellTypes.CheckBox());
table.autoGenerateColumns(false);

table.bind([tableColumn1, tableColumn2, tableColumn3, tableColumn4, tableColumn5], 'sales', data);

参数

属性名 类型 说明
columns TableColumn[] 具有数据字段和名称的表列信息的数组.每个项都是GC.Spread.Sheets.Tables.TableColumn
path? string -
dataSource? object 表格的数据源

返回值

Table

返回表格


bindColumns

bindColumns(columns): void

使用指定的数据字段绑定列

代码示例

var table = sheet.tables.add('tableSales', 0, 0, 5, 2);
var tableColumn1 = new GC.Spread.Sheets.Tables.TableColumn(1, "orderDate", "Order Date", "d/M/yy");
var tableColumn2 = new GC.Spread.Sheets.Tables.TableColumn(2, "item", "Item");
table.bindColumns([tableColumn1, tableColumn2]);

参数

属性名 类型 说明
columns TableColumn[] 具有数据字段和名称的表列信息的数组.每个项都是GC.Spread.Sheets.Tables.TableColumn

返回值

void


bindingPath

bindingPath(value?): any

获取或设置表格中单元格级别绑定的绑定路径

参数

属性名 类型 说明
value? string 表格中单元格级别绑定的绑定路径

返回值

any

如果未设置任何值,则返回表格中单元格级别绑定的绑定路径;否则,返回表格


clearPendingChanges

clearPendingChanges(): void

从当前表中清除脏数据状态

代码示例

// table bind data
var data = {
    sales: [
        {orderDate: '1/6/2013', item: 'Pencil'},
        {orderDate: '4/1/2013', item: 'Binder'},
        {orderDate: '6/8/2013', item: 'Pen Set'}
    ]
};
var table = sheet.tables.add('tableSales', 0, 0, 5, 5);
var tableColumn1 = new GC.Spread.Sheets.Tables.TableColumn(1, "orderDate", "Order Date", "d/M/yy");
var tableColumn2 = new GC.Spread.Sheets.Tables.TableColumn(2, "item", "Item");
table.bind([tableColumn1, tableColumn2], 'sales', data);
sheet.setValue(1, 1, 'dirty data');
console.log(table.getDirtyRows()); // [{row:0, item: ..., originalItem: ...}]

table.clearPendingChanges();
console.log(table.getDirtyRows()); // [ ]

返回值

void


columnLayoutStyle

columnLayoutStyle(tableColumnIndex, value?): Table | ITableLayoutStyle

Gets or sets the layout style to the table column.

代码示例

var table = activeSheet.tables.find(0,0);
var dataStyle = new GC.Spread.Sheets.Style();
dataStyle.backColor = "red";
var footerStyle = new GC.Spread.Sheets.Style();
footerStyle.backColor = "green";
var layoutStyle = {};
layoutStyle.data = dataStyle;
layoutStyle.footer = footerStyle;
table.columnLayoutStyle(1, layoutStyle);

参数

属性名 类型 说明
tableColumnIndex number The column index of the table column. The index is zero-based.
value? ITableLayoutStyle -

返回值

Table | ITableLayoutStyle

If no value is set, returns the layout style of the table column. otherwise return table.


dataRange

dataRange(): Range

获取表格数据区域的单元格区域

代码示例

var sTable = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableTheme.medium2);
var drange = sTable.dataRange();
alert(drange.row);

返回值

Range

表格数据区域


deleteColumns

deleteColumns(col, count): void

删除表格中指定表格列索引处的列

代码示例

var table = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableTheme.medium2);
table.deleteColumns(3, 1);

参数

属性名 类型 说明
col number 基于表格索引,要删除的第一列的索引
count number 要删除的列数

返回值

void


deleteRows

deleteRows(row, count): void

删除此表格中指定表格行索引处的行

代码示例

var table = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableTheme.medium2);
table.deleteRows(3, 1);

参数

属性名 类型 说明
row number 基于表格索引,要删除的第一行的索引
count number 要删除的行数

返回值

void


expandBoundRows

expandBoundRows(value?): any

获取或设置表格绑定扩展行时的值

代码示例

var spread = GC.Spread.Sheets.findControl("ss") || GC.Spread.Sheets.findControl("sampleDiv");
var sheet = spread.getActiveSheet();
var data = {
    name: 'Jones', region: 'East',
    sales: [
        { orderDate: '1/6/2013', item: 'Pencil', units: 95, cost: 1.99 },
        { orderDate: '4/1/2013', item: 'Binder', units: 60, cost: 4.99 },
        { orderDate: '6/8/2013', item: 'Pen Set', units: 16, cost: 15.99 },
        { orderDate: '8/1/2013', item: 'Pencil', units: 20, cost: 24.99 },
        { orderDate: '10/8/2013', item: 'Binder', units: 31, cost: 16.99 }
    ]
};
var table1 = sheet.tables.add('tableRecords', 0, 0, 4, 4);
var table2 = sheet.tables.add('tableBelow', 4, 0, 4, 7);
table1.bindingPath('sales');
var dataSource = new GC.Spread.Sheets.Bindings.CellBindingSource(data);
table1.expandBoundRows(true);
sheet.setDataSource(dataSource);

参数

属性名 类型 说明
value? boolean 按工作表展开还是按表插入/删除行

返回值

any

如果未设置值,返回按表展开还是按表插入/删除行;否则,返回表格


filterButtonVisible

filterButtonVisible(tableColumnIndex?, value?): any

获取或设置是否显示表格列的筛选按钮

代码示例

var sTable = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableTheme.medium2);
sTable.bandColumns(true);
sTable.bandRows(true);
sTable.filterButtonVisible(2, false);
alert(sTable.filterButtonVisible(2));

参数

属性名 类型
tableColumnIndex? number | boolean
value? boolean

返回值

any

表格列的筛选按钮显示状态 如果没有设置参数,如果所有筛选按钮都不可见返回false,否则返回true 如果仅设置一个参数,则返回是否显示指定的表格列的筛选按钮 如果仅设置了指示是否显示筛选按钮的布尔值,则将其应用于所有筛选按钮并返回表格 如果提供了两个参数,则将其应用于指定的表格列的筛选按钮并返回表


footerIndex

footerIndex(): number

获取表单中的页脚索引

代码示例

var sTable = sheet.tables.add("table1", 0, 0, 10, 5, GC.Spread.Sheets.Tables.TableTheme.medium2);
sTable.showFooter(true);

var footerIndex = sTable.footerIndex();
console.log(footerIndex) // 10
// Cause the table's footer is on row 11.

返回值

number

页脚索引


getColumnFormula

getColumnFormula(tableColumnIndex): string

获取具有指定索引的页脚公式

代码示例

var sTable = sheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableTheme.medium2);
//set footer formula
sTable.setColumnFormula(4, "SUM(F3:F11)");

//get footer formula
var columnFormula = sTable.getColumnFormula(4);
console.log(columnFormula); // "SUM(F3:F11)"

参数

属性名 类型 说明
tableColumnIndex number 页脚的列索引.索引从零开始

返回值

string

页脚公式


getColumnName

getColumnName(tableColumnIndex): string

获取具有指定索引的表头文本

代码示例

var sTable = sheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableTheme.medium2);
sTable.setColumnName(4, "SUM");

var value = sTable.getColumnName(4);
console.log(value); // "SUM"

参数

属性名 类型 说明
tableColumnIndex number 表头的列索引。该索引从零开始

返回值

string

按索引指定的列的标题文本


getColumnValue

getColumnValue(tableColumnIndex): string

获取具有指定索引的表格页脚值

代码示例

var sTable = sheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableTheme.medium2);
// set footer value
sTable.setColumnValue(0, "Total");

// get footer value
var value = sTable.getColumnValue(0);
console.log(value) // "Total"

参数

属性名 类型 说明
tableColumnIndex number 页脚的列索引.索引从零开始

返回值

string

表格页脚值


getDirtyRows

getDirtyRows(): IRowState[]

获取脏行的数组

代码示例

// table bind data
var data = {
    sales: [
        {orderDate: '1/6/2013', item: 'Pencil'},
        {orderDate: '4/1/2013', item: 'Binder'},
        {orderDate: '6/8/2013', item: 'Pen Set'}
    ]
};
var table = sheet.tables.add('tableSales', 0, 0, 5, 5);
var tableColumn1 = new GC.Spread.Sheets.Tables.TableColumn(1, "orderDate", "Order Date", "d/M/yy");
var tableColumn2 = new GC.Spread.Sheets.Tables.TableColumn(2, "item", "Item");
table.bind([tableColumn1, tableColumn2], 'sales', data);

console.log(table.getDirtyRows()); // [ ]

sheet.setValue(1, 1, 'dirty data');
console.log(table.getDirtyRows()); // [{row:0, item: ..., originalItem: ...}]

返回值

IRowState[]

脏行集合 数组中的项包含三个属性,row:指定表行索引,item:指定当前行的数据项,originalItem:指定该行的原始数据项


getSlicerData

getSlicerData(): TableSlicerData

Gets the slicer data of the table.

代码示例

var activeSheet = spread.getActiveSheet();
var dataSource = [
    { Name: "Bob", City: "NewYork", Birthday: "1968/6/8" },
    { Name: "Betty", City: "NewYork", Birthday: "1972/7/3" },
    { Name: "Alice", City: "Washington", Birthday: "2012/2/15" },
];
var table = activeSheet.tables.addFromDataSource("table1", 1, 1, dataSource);
var slicerData = table.getSlicerData();
console.log(slicerData instanceof GC.Spread.Sheets.Slicers.TableSlicerData); // true
console.log(table.getSlicerData() === slicerData); // true

返回值

TableSlicerData

The slicer data of the table.


headerIndex

headerIndex(): number

获取表单表头索引

代码示例

var sTable = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableTheme.medium2);
var hindex = sTable.headerIndex();
alert(hindex);

返回值

number

表头索引


highlightFirstColumn

highlightFirstColumn(value?): any

获取或设置一个值,该值指示是否高亮显示第一列

代码示例

var sTable = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableThemes.medium2);
sTable.highlightFirstColumn(true);
sTable.highlightLastColumn(true);

参数

属性名 类型 说明
value? boolean 是否高亮显示第一列

返回值

any

如果未设置任何值,则返回是否高亮显示第一列;否则,返回表


highlightLastColumn

highlightLastColumn(value?): any

获取或设置一个值,该值指示是否高亮显示最后一列

代码示例

var sTable = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableThemes.medium2);
sTable.highlightFirstColumn(true);
sTable.highlightLastColumn(true);

参数

属性名 类型 说明
value? boolean 是否高亮显示最后一列

返回值

any

如果未设置任何值,则返回是否高亮显示最后一列;否则,返回表格


insertColumns

insertColumns(col, count, isInsertAfter?): void

在该表中的指定表格列索引之前插入计数编号列

代码示例

var table = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableTheme.medium2);
table.insertColumns(3, 1);

参数

属性名 类型 说明
col number 基于表格索引在其上添加新列的列索引
count number 要添加的列数
isInsertAfter? boolean 是否在指定的列索引之前或之后插入列 默认情况下,在之前插入

返回值

void


insertRows

insertRows(row, count, isInsertAfter?): void

在此表中的指定表格行索引之前插入行

代码示例

var table = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableTheme.medium2);
table.insertRows(3, 1);

参数

属性名 类型 说明
row number 基于表格索引,要插入的起始行的索引
count number 要添加的行数
isInsertAfter? boolean 是否在指定的行索引之前或之后插入行 默认情况下,在之前插入

返回值

void


layoutStyle

layoutStyle(value?): Table | ITableLayoutStyle

Gets or sets a style to the table's data area.

代码示例

var sTable = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableThemes.medium2);
var dataStyle = new GC.Spread.Sheets.Style();
dataStyle.backColor = "red";
var footerStyle = new GC.Spread.Sheets.Style();
footerStyle.backColor = "green";
var layoutStyle = {};
layoutStyle.data = dataStyle;
layoutStyle.footer = footerStyle;
table.layoutStyle(layoutStyle);

参数

属性名 类型
value? ITableLayoutStyle

返回值

Table | ITableLayoutStyle

If no value is set, returns the style of the table's data area; otherwise, returns the table.


name

name(value?): any

获取或设置表格名

代码示例

var sTable = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableTheme.medium2);
var tname = sTable.name();
alert(tname);

参数

属性名 类型 说明
value? string 表格名称

返回值

any

如果未设置任何值,则返回表格名;否则,返回表格


range

range(): Range

获取整个表格的区域

代码示例

var sTable = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableTheme.medium2);
var drange = sTable.range();
alert(drange.row);

返回值

Range

整个表格的区域


rowFilter

rowFilter(): HideRowFilter

获取表格的行筛选

代码示例

var table = sheet.tables.add('table1', 0, 0, 5, 5);

let rowFilter = table.rowFilter();
console.log(rowFilter.range);

返回值

HideRowFilter

行筛选


setColumnDataFormula

setColumnDataFormula(tableColumnIndex, formula): Table

使用指定的索引为表格的数据区域设置公式

代码示例

//本示例在表格中使用结构化引用公式
activeSheet.tables.add("Table1", 0, 0, 4, 3, GC.Spread.Sheets.Tables.TableTheme.dark1);
activeSheet.getCell(0,0).text("Value1");
activeSheet.getCell(0,1).text("Value2");
activeSheet.getCell(0,2).text("Total");
activeSheet.getCell(1,0).text("1");
activeSheet.getCell(2,0).text("2");
activeSheet.getCell(3,0).text("3");
activeSheet.getCell(1,1).text("5");
activeSheet.getCell(2,1).text("5");
activeSheet.getCell(3,1).text("5");
activeSheet.tables.findByName("Table1").setColumnDataFormula(2, "=[Value1]*[Value2]");
activeSheet.tables.findByName("Table1").setColumnDataFormula(2, null); // to clear the column data formula

参数

属性名 类型 说明
tableColumnIndex number 表格的列索引 索引从零开始
formula string 数据区域公式

返回值

Table

表格


setColumnFormula

setColumnFormula(tableColumnIndex, formula): Table

使用指定的索引设置表尾公式

代码示例

var sTable = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableThemes.medium2);
sTable.showFooter(true);
//设置页脚值
sTable.setColumnValue(0, "Total");
//设置页脚公式
sTable.setColumnFormula(4, "SUM(F3:F11)");

参数

属性名 类型 说明
tableColumnIndex number 页脚的列索引.索引从零开始
formula string 页脚公式

返回值

Table

表格


setColumnName

setColumnName(tableColumnIndex, name): Table

用指定的表格索引设置表头文本

代码示例

var sTable = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableThemes.medium2);
sTable.showFooter(true);
sTable.setColumnName(4, "SUM");
//设置页脚值
sTable.setColumnValue(0, "Total");
//设置页脚公式
sTable.setColumnFormula(4, "SUM(F3:F11)");

参数

属性名 类型 说明
tableColumnIndex number 表头的列索引。该索引从零开始
name string 表头文字

返回值

Table

表格


setColumnValue

setColumnValue(tableColumnIndex, value): Table

用指定的索引设置表尾值

代码示例

var sTable = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableThemes.medium2);
sTable.showFooter(true);
//设置页脚值
sTable.setColumnValue(0, "Total");
//设置页脚公式
sTable.setColumnFormula(4, "SUM(F3:F11)");

参数

属性名 类型 说明
tableColumnIndex number 页脚的列索引.索引从零开始
value Object 表格页脚值

返回值

Table

表格


showFooter

showFooter(value?, isFooterInserted?): any

获取或设置一个值,该值指示是否显示表脚

代码示例

var sTable = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableThemes.medium2);
sTable.showFooter(true);
//设置页脚值
sTable.setColumnValue(0, "Total");
//设置页脚公式
sTable.setColumnFormula(4, "SUM(F3:F11)");

参数

属性名 类型 说明
value? boolean 是否显示表脚
isFooterInserted? boolean 决定添加表脚的方式,是插入总计行还是仅覆盖下一行.删除表脚是相同的

返回值

any

如果未设置任何值,则返回是否显示表脚;否则,返回表格


showHeader

showHeader(value?): any

获取或设置一个值,该值指示是否显示表头

代码示例

var sTable = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableThemes.medium2);
sTable.showHeader(true);

参数

属性名 类型 说明
value? boolean 是否显示表头

返回值

any

如果未设置任何值,则返回是否显示表头.否则,返回表格


showResizeHandle

showResizeHandle(value?): any

获取或设置一个值,该值指示是否显示表格的调整大小句柄

代码示例

var sTable = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableThemes.medium2);
sTable.showResizeHandle(true);

参数

属性名 类型 说明
value? boolean 是否显示表格的调整大小句柄

返回值

any

如果未设置任何值,则返回是否显示表格的调整大小句柄,默认为false;否则,返回表格


style

style(value?): any

获取或设置表格的样式

参数

属性名 类型 说明
value? TableTheme 表格的样式

返回值

any

如果未设置任何值,则返回表格样式 否则,返回表格


useFooterDropDownList

useFooterDropDownList(value?): any

获取或设置一个值,该值指示是否对总行使用页脚下拉列表

代码示例

var sTable = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableThemes.medium2);
sTable.useFooterDropDownList(true);

参数

属性名 类型 说明
value? boolean 是否使用页脚下拉列表

返回值

any

如果未设置任何值,则返回是否对总行使用页脚下拉列表,默认为false;否则,返回表格