1

在 koGrid 2.1.1 中:

不知何故,网格的最后一列只是部分可见。

我使用网格的默认配置通过示例重现了此错误。

HTML:

<div class="gridStyle" data-bind="koGrid: gridOptions"></div>

CSS:

.gridStyle {
border: 1px solid rgb(212, 212, 212);
width: 400px;
height: 300px;
}

脚本:


function mainVm() {
    var self = this;
    this.myData = ko.observableArray([{
        name: "Moroni",
        age: 50
    }, {
        name: "Tiancum",
        age: 43
    }, {
        name: "Jacob",
        age: 27
    }, {
        name: "Nephi",
        age: 29
    }, {
        name: "Enos",
        age: 34
    }]);
    this.gridOptions = {
        data: self.myData
    };
};
ko.applyBindings(new mainVm());

小提琴:http: //jsfiddle.net/4hUcc/1/

我找不到是什么原因造成的。有什么线索吗??

4

2 回答 2

2

为了计算滚动条的宽度和高度,一旦加载了 javascript 文件,koGrid 就会在你的 body 中添加一个临时 div。

因此,如果您在 HTML 的头部添加 koGrid-x.js,则不会加载正文,并且滚动条测量将失败。

另一方面,如果您在 body 元素的末尾添加 koGrid-x.js 文件,它将已经加载,并且一切都应该按预期工作。

于 2014-04-28T17:21:27.303 回答
1

在 koGrid-2.1.1.debug.js 第 2098 - 2114 行找到它:


 var getWidths = function () {
        var $testContainer = $('');
        $testContainer.appendTo('body');
        // 1. Run all the following measurements on startup!
        //measure Scroll Bars
        $testContainer.height(100).width(100).css("position", "absolute").css("overflow", "scroll");
        $testContainer.append('');
        window.kg.domUtilityService.ScrollH = ($testContainer.height() - $testContainer[0].clientHeight);
        window.kg.domUtilityService.ScrollW = ($testContainer.width() - $testContainer[0].clientWidth);
        $testContainer.empty();
        //clear styles
        $testContainer.attr('style', '');
        //measure letter sizes using a pretty typical font size and fat font-family
        $testContainer.append('M');
        window.kg.domUtilityService.LetterW = $testContainer.children().first().width();
        $testContainer.remove();
    };

window.kg.domUtilityService.ScrollHwindow.kg.domUtilityService.ScrollW计算不正确。通过将它们都设置为 0 来解决我的问题。(零)

谢谢!

于 2013-09-05T14:16:45.947 回答