46

使用包装器时如何更改剑道网格的高度?

4

5 回答 5

57

我假设您正在寻找的方法是在 Scrollable 配置下(它在那里是因为如果您希望一个 Grid 具有高度,则它需要是可滚动的)

.Scrollable(scr=>scr.Height(230))
于 2012-10-21T18:32:53.080 回答
43

动态改变高度

删除 html 属性:

.HtmlAttributes(new { style = "height:600px;" })

使用自动添加可滚动:

.Scrollable(a => a.Height("auto"))

于 2013-07-24T10:32:00.193 回答
10

在强类型中,用于刚性固定高度

.Scrollable(scrollable => scrollable.Height(100))

在 Js 中 dataSource 声明后使用

$("#Grid").kendoGrid({

            dataSource: { },

            height: 450,

            pageable: {
                refresh: true,
                pageSizes: true
            },

            columns:
                [
                   ***
                ]
        });

您还可以通过 css 为您拥有的所有网格绑定网格的最小和最大高度。

.k-grid .k-grid-content {
 min-height: 100px;
 max-height: 400px;
}

或者您可以指定一个特定的网格,将 .k-grid 替换为特定的网格 id #YourGridName。希望这可以帮助。

于 2014-10-02T21:12:04.580 回答
6

HtmlAttributes()将允许您向<div>包含工具栏、分页、表格等的属性添加属性。

TableHtmlAttributes()将允许您仅向<table>元素添加属性

通过添加样式属性将表格设置为 750px 的示例:

  @Html.Kendo().Grid(Model)
               .Name("Grid")
               .TableHtmlAttributes(new {style="height: 750px;"})
于 2012-10-19T12:18:30.057 回答
5

您也可以为此使用外部 css 规则,如果您的网格被重复使用(如在局部视图中),这可能会更好。如果您提供样式或高度属性,Kendo 会内联添加这些属性,因此它们不能被外部样式表覆盖。有时你想要,但有时你不想要。

使用.Name()提供给包装器的字符串,很容易编写一个 css 规则来定位标题或内容。

#GridName .k-grid-content {
    height: 300px; /* internal bit with the scrollbar */
}

#GridName .k-grid-header-wrap tr {
    height: 75px; /* header bar */
}

请注意,.k-grid-header-wrap类可能会因您初始化网格的方式而异。此外,您必须针对标头内的trorth标记。对整个标题(通常是 div 标签)进行样式设置会导致结果不一致。有些浏览器不会应用该规则,有些浏览器会在实际 tr/th 的边界开始处留下可见的工件。

哦,我还应该说,当在 MVC 包装器创建的网格和常规的 js 创建的网格之间进行更改时,这种方法允许灵活性。或者您可以在不同的网格之间重用样式表。

于 2013-01-31T18:59:25.900 回答