使用包装器时如何更改剑道网格的高度?
5 回答
我假设您正在寻找的方法是在 Scrollable 配置下(它在那里是因为如果您希望一个 Grid 具有高度,则它需要是可滚动的)
.Scrollable(scr=>scr.Height(230))
动态改变高度
删除 html 属性:
.HtmlAttributes(new { style = "height:600px;" })
使用自动添加可滚动:
.Scrollable(a => a.Height("auto"))
在强类型中,用于刚性固定高度
.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
。希望这可以帮助。
HtmlAttributes()
将允许您向<div>
包含工具栏、分页、表格等的属性添加属性。
TableHtmlAttributes()
将允许您仅向<table>
元素添加属性
通过添加样式属性将表格设置为 750px 的示例:
@Html.Kendo().Grid(Model)
.Name("Grid")
.TableHtmlAttributes(new {style="height: 750px;"})
您也可以为此使用外部 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
类可能会因您初始化网格的方式而异。此外,您必须针对标头内的tr
orth
标记。对整个标题(通常是 div 标签)进行样式设置会导致结果不一致。有些浏览器不会应用该规则,有些浏览器会在实际 tr/th 的边界开始处留下可见的工件。
哦,我还应该说,当在 MVC 包装器创建的网格和常规的 js 创建的网格之间进行更改时,这种方法允许灵活性。或者您可以在不同的网格之间重用样式表。