0

我发布这个是希望其他人会得到帮助。

我有一个大约 25 列的 koGrid(使用 2.1.1 版)。我在列上设置了 width 和 minWidth 。当网格出现时,它显示正常,但有时我想调整列大小。当我调整大小时,列宽有时会变宽,你不能把它们放回去。

4

1 回答 1

1

我寻找了几个小时的解决方案,终于想通了。当您向上或向下更改列的宽度并且大小达到“minWidth”或“maxWidth”阈值时,计算宽度的javascript代码可以切换到字符串连接。

因此,如果您有一列的 minWidth 为 30,那么当您到达该点时,宽度将设置为字符串“30”。然后重新计算列大小并命中该列时,数学将开始连接而不是求和。

要解决此问题,您需要修改 koGrid 源文件。在调试文件中,搜索 window.kg.Column 函数。进入方法大约 13 行,你会发现以下两行:

self.minWidth = !colDef.minWidth ? 50 : colDef.minWidth;
self.maxWidth = !colDef.maxWidth ? 9000 : colDef.maxWidth;

更改代码,使其将最小和最大宽度转换为整数,如下所示:

self.minWidth = !colDef.minWidth ? 50 : parseInt(colDef.minWidth, 10);
self.maxWidth = !colDef.maxWidth ? 9000 : parseInt(colDef.maxWidth, 10);

这为我修复了它,我的测试没有显示任何副作用。我希望这对其他人有帮助。也许有人会很快将修复程序合并到 koGrid 代码库中。

于 2013-12-17T20:53:44.103 回答