kendo grid footer / pager在bootstrap选项卡中损坏

时间:2013-09-17 19:30:21

标签: twitter-bootstrap tabs grid kendo-ui

我发现kendo网格在放入当前不可见的引导选项卡内时会出现问题。当选项卡可见时,页脚(寻呼机)显示与网格断开连接。 如果在显示选项卡后初始化网格,则一切正常。此外,如果数据源是read(),一切看起来都很好(卡入到位)。 这些都不是可取的(我可能希望在dom准备就绪时,或者在选择选项卡时不希望阅读。)

我该如何解决这个问题?

我正在回答下面我自己的问题,但会对替代,精炼或“更合适”的解决方案感兴趣。

1 个答案:

答案 0 :(得分:2)

假设这是此处列出的问题http://www.kendoui.com/forums/kendo-ui-web/grid/grid-height-issues.aspx,需要重新计算k-grid-content div的高度,但只需重复一次(因为这似乎解决了特定页面视图的问题)。

此代码应解决此问题:

function recalculateGridSize(gridElement) {
    gridElement = $(gridElement);
    var contentHeight = $('.k-grid-content').height();
    var headerHeight = gridElement.find('.k-grid-header').height(),
        pagerHeight = gridElement.find('.k-grid-pager').height();
    contentHeight = contentHeight - (pagerHeight + headerHeight);
    gridElement.find('.k-grid-content').css('height', contentHeight);
};

$('body').on('shown.bs.tab', function(e) {
    var currentTabHref = $(e.target).attr('href');
    $($(e.target).attr('href')).find('.k-grid:not([data-recalculated])').each(function() {
        recalculateGridSize(this);
        $(this).attr('data-recalculated', 'true');
    });
});

希望这有用。