【发布时间】:2017-04-27 18:35:32
【问题描述】:
我正在尝试为我的剑道网格设置正确的初始列宽。这快把我逼疯了!
我的网格如下...
<table class="MyTableClass">
<thead>
<tr>
<th>
@(Html.Kendo().Grid(Model.MyModel).Name("myGrid").HtmlAttributes(new { @class = "shadow", style = "height:40%;width:100%" })
.Extra(false)
.Operators(...)
.Resizable(resize => resize.Columns(true))
.Sortable().Scrollable().Pageable().Selectable(selectable => selectable.Mode(GridSelectionMode.Single))
.DataSource(dataSource => dataSource.Ajax().ServerOperation(false).PageSize(25))
.Columns(columns =>
columns.Bound(p => p.Property1).Title("MyProperty1").ClientTemplate("...");
columns.Bound(p => p.Property2).Title("MyProperty2").ClientTemplate("...").Width(100);
columns.Bound(p => p.Property3).Title("MyProperty3").ClientTemplate("...");
columns.Bound(p => p.Property4).Title("MyProperty4").ClientTemplate("...").Width(100);
...
如您所见,我已经为除了两列之外的所有列设置了宽度,无论宽度是多少,我都想占据其余的列。这很好用,除非宽度很小时,没有显式宽度设置的两列基本上为零宽度,因此似乎丢失了。
我正在尝试在列(没有显式宽度)上设置最小宽度,如果它小于 100,那么它将宽度设置为 100。
我已经尝试了所有我能想到的方法,并在文档加载时调用了以下内容...
function setColumnMinimumWidths() {
$("#myGrid colgroup col").each(function () {
if ($(this).width() < 100) {
$(this).css("width", "100px");
}
})
}
这可以解决问题,但是在调整窗口大小后,所有其他列现在都均匀调整大小(忽略显式宽度)。
任何有任何想法的剑道或 javascript 专家吗?
【问题讨论】: