为什么我的koGrid列在尝试使其变窄时会超宽,然后您无法将其拖回

时间:2013-12-17 20:53:44

标签: kogrid

我发布此信息是为了希望别人得到帮助。

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

1 个答案:

答案 0 :(得分: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代码库中。