spreadjs的行为逻辑在很多地方和是和excel保持一致的。比如对于table来说,当用户在紧靠table右侧的一列添加数据时,table列会自动向右扩展一列以包含添加的数据。左侧添加数据则不会有类似行为。
但是一些用户在使用过程中,希望在左侧添加数据时也,table列也能自动扩展,可以通过监听ValueChanged事件。非常简单的实现这一需求。
- sheet.bind(GC.Spread.Sheets.Events.ValueChanged, function (sender, args) {
- if(args.oldValue==null&&args.newValue!=null){
- var tb=sheet.tables.find(args.row,args.col+1,args.col);
- var range=tb.range();
- if(tb!=null&&range.row==args.row&&range.col==args.col+1){
- sheet.tables.resize(tb,new GC.Spread.Sheets.Range(range.row,range.col-1,range.rowCount,range.colCount+1))
- }
- }
- });
复制代码
|
|