Dart bwu_datagrid纸上操作对话框第二次打开时会弄乱列

Dart bwu_datagrid纸上操作对话框第二次打开时会弄乱列,dart,bwu-datagrid,Dart,Bwu Datagrid,我在Dart/Polymer网络应用程序中使用bwu_数据网格。在“纸张操作”对话框中,我使用“分组”网格显示树表。第一次打开对话框时,网格看起来很好。第二次打开该对话框时,在Chrome中是正常的,但当我使用Firefox或Safari时,非分组行中的列向左蜷缩(相互重叠),列标题消失 这在Chrome中也发生过,直到我在对话框的核心覆盖打开完成事件处理程序中添加了以下代码: grid.setColumns = columns; grid.invalidate(); grid.render()

我在Dart/Polymer网络应用程序中使用bwu_数据网格。在“纸张操作”对话框中,我使用“分组”网格显示树表。第一次打开对话框时,网格看起来很好。第二次打开该对话框时,在Chrome中是正常的,但当我使用Firefox或Safari时,非分组行中的列向左蜷缩(相互重叠),列标题消失

这在Chrome中也发生过,直到我在对话框的核心覆盖打开完成事件处理程序中添加了以下代码:

grid.setColumns = columns;
grid.invalidate();
grid.render();

似乎有人在11月份报告了类似的问题。这个问题是否已经解决和/或修复?

我提出了一个解决方案,至少对我和其他地方发布的“97问题重新连接”示例有效。我不知道它为什么会工作,但我在bwu_datagrid.dart中添加了一个新方法,称为reshowGrid()。这个新方法是“setColumns”的精简版本。我认为真正的关键可能是注释掉的“样式附加”

void reshowGrid(){
如果(_初始化){
使无效的所有行();
_createColumnHeaders();
_去除微规则();
_createCssRules();
调整画布的大小();
_applyColumnWidths();
//this.shadowRoot.append(_样式);
_handleScroll();
} 
} 

我调用了
grid.reshowGrid()
而不是
grid.setColumns

Firefox有几个未解决的问题。我还没来得及调查他们。在提高总体代码质量方面还有很多工作要做(重构以使代码更少的JSy和更多的Darty),一些示例尚未移植,因此bwu_datagrid中的相关代码未经测试。我想在尝试修复特定于浏览器的错误之前完成此操作。好的Firefox支持可能还需要一些时间。。。对不起。