本帖最后由 chenxiaofenghui 于 2019-1-14 16:21 编辑
我把需求简单说一下吧
在线编辑器中定义模板,例如只是添加了一行数据,如图一;保存该模板为.json的文件,然后页面中加载.json的模板文件(这步可以实现),然后将后台返回的数据添加到表格中。图二为添加之后的形式。
以下是我的代码:
function initSpread(spread) {
var sd = data;
if (sd.length > 0) {
if (!spread) {
return;
}
spread.suspendPaint();
spread.fromJSON(sd[0]);
spread.newTabVisible = false;
var sheetCount = spread.getSheetCount();
for (var i = 0; i < sheetCount; i++) {
var sheet = spread.getSheet(i);
sheet.setColumnVisible(0, false, GC.Spread.Sheets.SheetArea.rowHeader);
sheet.setRowVisible(0, false, GC.Spread.Sheets.SheetArea.colHeader);
sheet.options.gridline = {
showHorizontalGridline: false,
showVerticalGridline: false
};
var baseRow = 3,
baseCol = 2;
for (var r = 0; r < 6; r++) {
for (var c = 0; c < 7; c++) {
sheet.setFormatter(baseRow + r, baseCol + c, new GC.Spread.Formatter.GeneralFormatter("d"), GC.Spread.Sheets.SheetArea.viewport);
}
}
}
var activeSheet=spread.sheets[0];
for(let i=1;i<=dataSource.length;i++){
activeSheet.getCell(i,0).value(dataSource[i-1].deviceName);
activeSheet.getCell(i,1).value(dataSource[i-1].tagName);
activeSheet.getCell(i,2).value(dataSource[i-1].tagType);
activeSheet.getCell(i,3).value(dataSource[i-1].nowValue);
activeSheet.getCell(i,4).value(dataSource[i-1].timestamp);
}
spread.resumePaint();
}
}
其中:
for(let i=1;i<=dataSource.length;i++){
activeSheet.getCell(i,0).value(dataSource[i-1].deviceName);
activeSheet.getCell(i,1).value(dataSource[i-1].tagName);
activeSheet.getCell(i,2).value(dataSource[i-1].tagType);
activeSheet.getCell(i,3).value(dataSource[i-1].nowValue);
activeSheet.getCell(i,4).value(dataSource[i-1].timestamp);
}
是我现在添加数据的部分,但是不知道具体的添加位置?我想通过设置绑定数据的形式来实现。
请问可否提供一些指导。
|