我给你发下我的部分代码,sheetA和sheetB分别是两个workbook的sheet。
function bindSheet(controller, sheetA, sheetB, setting){
sheetA.bind(GC.Spread.Sheets.Events.SelectionChanged, function(sender, args){
if(controller.tree.selected && args.oldSelections[0].row !== args.newSelections[0].row|| controller.tree.selected && args.oldSelections[0].row === 0){
sheetB.clear(0, 0, sheetB.getRowCount(), sheetB.getColumnCount(), GC.Spread.Sheets.SheetArea.viewport,GC.Spread.Sheets.StorageType.data);
sheetB.clear(0, 0, sheetB.getRowCount(), sheetB.getColumnCount(), GC.Spread.Sheets.SheetArea.viewport,GC.Spread.Sheets.StorageType.tag);
var jobs = controller.tree.selected.jobs;
if(jobs.length > 0){
for(var i=0; i<jobs.length; i++){
setting.cols.forEach(function(col, cidx){
sheetB.setTag(i, cidx, jobs.data.id, GC.Spread.Sheets.SheetArea.viewport);
if(jobs.data[col.data.field]){
sheetB.getCell(i, cidx, GC.Spread.Sheets.SheetArea.viewport).value(jobs.data[col.data.field]);
}
else {
sheetB.getCell(i, cidx, GC.Spread.Sheets.SheetArea.viewport).value('');
}
});
orgJobData = sheetB.getValue(0, 0);
}
}
}
});
}
sheetB绑定的事件:
delete: function(controller, sheet, totalJobs, setting){
sheet.bind(GC.Spread.Sheets.Events.RangeChanged, function (sender, args) {
if(args.action == GC.Spread.Sheets.RangeChangedAction.clear){
alert("delete");
}
});
}
|