如何解决动态设置剑道网格列宽度的问题
我正在将Telerik UI用于ASP.NET Core。网格的列是动态添加的。
@(Html.Kendo().Grid<dynamic>()
.Name("myGrid")
.Columns(columns =>
{
for (int i = 0; i < Model.GridColumns.Count; i++)
{
var field = Model.GridColumns[i];
var col = columns.Bound(field.FieldName).Title(field.DisplayName).Sortable(true);
}
})
.AutoBind(false)
.Pageable()
.Resizable(resize => resize.Columns(true))
.Scrollable()
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(50)
.ServerOperation(true)
.Model(model =>
{
model.Id("ID");
var f = model.Field("ID",typeof(int));
f.Editable(false);
})
.Read("Search","Documents"))
)
除了2个已知列Error
和Notes
之外,我想根据列的内容设置列宽。我想将这两列的宽度设置为800px,所有其他列应根据内容自动调整。
所以在javascript中,我有以下代码
var kendoGrid = $("#myGrid").data('kendoGrid');
kendoGrid.bind("dataBound",function () {
for (var i = 0; i < this.columns.length; i++) {
if (this.columns[i].field == "Error" || this.columns[i].field == "Notes") {
this.columns[i].Width = "800"; // tried 800px also
}
else {
this.autoFitColumn(i);
}
}
});
问题
800px宽度未设置为Error
和Notes
列。所有其他自动调整栏将根据预期内容进行调整。我尝试设置800
和800px
。
是否可以自动调整某些列并为其余列具有硬编码的宽度?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。