本帖最后由 Lynn.Dou 于 2022-7-4 18:33 编辑
双击或者拖拽都可以改变列宽,所以均可以触发ColumnWidthChanging事件,
在事件内部您可以根据实际业务(比如判断如果是第二列)需要做判断,如果不希望列宽改变,则执行cancel为true,即取消列宽改变的行为。
API链接:
https://demo.grapecity.com.cn/sp ... ColumnWidthChanging
需注意,目前事件内没有属性可以区分是拖拽还是双击改变列宽行为,但是双击的时候是执行了autoFitColumn这个命令,你可以通过重写这个命令来标记此行为。
- var oldAutoFitColumn = GC.Spread.Sheets.Commands.autoFitColumn.execute;
- GC.Spread.Sheets.Commands.autoFitColumn.execute = function(context,options,isUndo){
- var Commands = GC.Spread.Sheets.Commands;
- if (isUndo) {
- Commands.undoTransaction(context, options);
- return true;
- } else {
- Commands.startTransaction(context, options);
- sheet.suspendPaint();
- console.log('autoFitColumn');
- var a = oldAutoFitColumn.call(this, context,options,isUndo);
- sheet.resumePaint();
- Commands.endTransaction(context, options);
- return true;
- }
- }
复制代码
"有没有其他的方法能实现所有字段始终占满表格宽度的效果?"
您指的是根据单元格实际文本内容自适应列宽吗?可以参考下方链接demo:
https://demo.grapecity.com.cn/sp ... les/index.html?id=9
|