javascript - 将 Kendo UI 网格高度设置为包装器的 100%

标签 javascript jquery kendo-ui kendo-grid

我知道有一种简单的方法可以通过他们的 API 设置 Kendo UI 网格的固定高度,但为了我们的特定需求,我需要使网格扩展到其包装器的全高。

使用以下标记结构,我将 .wrapper 设置为 height:600px 我试着给 .k-grid-content height:100% 但它没有展开。 #grid 使用 height:100% 扩展到 100%,但我也需要扩展内部内容。我该如何实现?

这是演示 JS BIN

<div class="wrapper">
    <div id="grid">
        <div class="k-grid-header"></div>
        <div class="k-grid-content"></div>
        <div class="k-grid-pager"></div>
    </div>
</div>

最佳答案

根据 Kendo 的技术支持团队之一;迪莫迪莫夫。你应该设置一个容器的高度,里面的所有东西都应该设置为 100%(包括网格)。然后您在文档就绪和窗口调整大小时手动调整内容高度。

他的例子看这里:

http://jsfiddle.net/dimodi/SDFsz/

请参阅此处更新您的 js 函数以将包装器的高度设置为窗口高度。

http://jsbin.com/yumexugo/1/edit

本质上,内容是通过以下方式调整大小的:

function resizeGrid() {
    var gridElement = $("#grid"),
        dataArea = gridElement.find(".k-grid-content"),
        gridHeight = gridElement.innerHeight(),
        otherElements = gridElement.children().not(".k-grid-content"),
        otherElementsHeight = 0;
    otherElements.each(function(){
        otherElementsHeight += $(this).outerHeight();
    });
    dataArea.height(gridHeight - otherElementsHeight);
}

并且包装器的大小为(您可能需要修改它以适合您的布局):

function resizeWrapper() {
    $("#outerWrapper").height($('#body').innerHeight());
}

文档就绪和窗口调整大小都调用:

$(window).resize(function() {
    resizeWrapper();
    resizeGrid();
});

相关CSS:

#grid {
  height: 100%;
}

#outerWrapper{
  overflow: hidden;
}

关于javascript - 将 Kendo UI 网格高度设置为包装器的 100%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22622241/

相关文章:

javascript - jQuery.trigger ('click' )

javascript - 离线绘制amcharts的问题

javascript - Redux Provider 不传递 Props/State

jquery - 表单 onclick 验证 JQUERY

javascript - 在 javascript 函数中设置常量

javascript - ajax未捕获引用错误: field_inputs is not defined

javascript - 滚动迷你菜单

asp.net-mvc-4 - Kendo ui - 如何将验证与 mvc 模型属性联系起来

javascript - 剑道 ui 树状图 : no capacity for zoom/drill-down?

grid - Kendo UI Grid 多次触发 CRUD 操作