小编ali*_*ina的帖子

SAPUI5表:unbindRows和destroyColumns导致错误:无法读取未定义的属性“ shouldRender”

我正在使用名称空间中的Table对象SAPUI5's sap.ui.table

var oTableOverview = new sap.ui.table.Table();

在上rowSelectionChange,当我选择一行时,我填充了另一张表,我们称它为oTableDetail,其中已填充了一些数据。

当从第一个表中取消选择该行时,我想清除第二个表的内容,为此,我使用了:

oTableDetail.destroyColumns();

oTableDetail.unbindRows();

取消选择行时,出现以下错误:

TableRenderer.js:6未捕获的TypeError:无法读取未定义的属性“ shouldRender”

我找到了方法shouldRender的的sap.ui.table.Column类,但我不知道为什么会在细胞在这种情况下重新呈现。

我还注意到,如果我单独使用oTable.destroyColumns()或,则不会出现该错误。oTable.unbindRows()

我正在使用SAPUI5的“ 1.38.11”版本。

您能帮我确定为什么会这样吗?

编辑1:可能的解决方法是使用:

oTableDetail.setModel(new sap.ui.model.json.JSONModel({}));

oTableDetail.destroyColumns();

尽管我仍然不知道为什么前面提到的代码无法正常工作。

编辑2:我觉得有点奇怪的行为:

试图添加一个setTimeout像这样工作(错误没有发生):

oTable.destroyColumns();

setTimeout(function(){oTable.unbindRows();},50);

但是,即使延迟时间更长,也无法通过其他方式运行(错误仍然出现):

oTable.unbindRows();

setTimeout(function(){oTable.destroyColumns();},50);

javascript sapui5

5
推荐指数
0
解决办法
873
查看次数

标签 统计

javascript ×1

sapui5 ×1