动态设置剑道网格列宽度的问题

问题描述

我正在将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个已知列ErrorNotes之外,我想根据列的内容设置列宽。我想将这两列的宽度设置为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宽度未设置为ErrorNotes列。所有其他自动调整栏将根据预期内容进行调整。我尝试设置800800px
是否可以自动调整某些列并为其余列具有硬编码的宽度?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)