如何取消 atoFitColumn
<wj-flex-grid-column min-width="60" width="3*" binding="col1" header="列1" visible="{{ctrl.displaySetting.showCol1}}">将width设成 带 * 的 以便列宽可以拉伸至填满grid 剩余空间。同时提供给用户一个列宽调整按钮,该按钮会对显示列进行 autoFitColumns, autoFit 时跳过最后一个显示列,以便依然能填满 grid 。
_currentFlexgrid.autoSizeColumns(start, colCount - 2);
当按如下步骤操作时,就有问题了:
1. 将所有列显示,点击列宽调整按钮,此时 列1 、列2、列3 的 width 从星号的变成具体的数字
2. 隐藏 第 四列,此时所有显示列的列宽都变成具体数字,无法自动拉伸来填满 grid
所以有什么 办法可以撤销 autoFitColumn 使其列宽变回原始设置的宽度吗
wijmo目前没有办法撤销ui操作。而且你所谓的ui操作实际上也只是点击按钮后执行了autoSizeColumns代码,历史的列宽并没有记录,自然无法撤销
如果你希望用户的ui操作都可以撤销,可以尝试使用spreadjs,
spreadjs提供了command机制。把用户的ui操作都封装成了命令或者说事务来执行。可以支持撤销和重做
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/worksheet/actions/custom-action/purejs
比如你这里的需求,在spreadjs中,可以尝试执行autofitcolumn命令
https://demo.grapecity.com.cn/spreadjs/help/api/modules/GC.Spread.Sheets.Commands#autofitcolumn 哦,那有没有办法能给 指令设某个自定义属性值(如下的 custom-prop),让我能通过访问wjFlexGrid.columns 的某个属性或方法来获取到该值。
<wj-flex-grid-column width="3*" binding="col1" header="列1"custom-prop="ctrl.value"></wj-flex-grid-column> 没有明白,你是要获取width还是其他什么
页:
[1]