gwt宽度使用columnformatter引发无效参数

gwt宽度使用columnformatter引发无效参数,gwt,gwt2,Gwt,Gwt2,我正在使用flextable开发一个数据表,我想设置宽度,我为每个单元格做了设置,它工作正常。 出于性能方面的考虑,我想将单元格级别移动到列级别,所以我使用了ColumnFormatter,但它会抛出 com.google.gwt.core.client.JavaScriptException:(错误):无效 论据 猜猜怎么了 我设置了表格布局:固定并折叠了表格的边框 Invalid argument 让我们看看它是哪个论点: ft.getColumnFormatter().setWid

我正在使用flextable开发一个数据表,我想设置宽度,我为每个单元格做了设置,它工作正常。 出于性能方面的考虑,我想将单元格级别移动到列级别,所以我使用了ColumnFormatter,但它会抛出

com.google.gwt.core.client.JavaScriptException:(错误):无效 论据

猜猜怎么了

我设置了表格布局:固定并折叠了表格的边框

Invalid argument   
让我们看看它是哪个论点:

ft.getColumnFormatter().setWidth(col, widths[col] + "px");
这里,其中一个参数是
null

很可能是
col


通过在eclipse中调试来检查流程,我遇到了同样的问题,并发现将宽度设置为零就是问题所在。 将其更改为

if (widths[col] > 0) {    
   ft.getColumnFormatter().setWidth(col, widths[col] + "px");
}
解决了这个问题


请注意,此仅在使用IE11时发生

可能会有兴趣。问题在于我必须将宽度设置为0像素的列,其中GWT无法将0值设置为宽度并引发Javascript异常。对我来说,解决的办法是我设置表格的宽度,剩余的所有列我设置的值的总和等于它工作的表格宽度,哪一列我不想要宽度我跳过了设置宽度,所以它自动为0像素感谢Mike Myers为您提供了宝贵的时间
if (widths[col] > 0) {    
   ft.getColumnFormatter().setWidth(col, widths[col] + "px");
}