如何在mvc绑定后更改kendo网格列宽?

时间:2016-03-15 10:44:58

标签: c# asp.net-mvc kendo-grid width

我正在尝试为其中一个kendo grid列设置宽度。 这里是简单的代码:

                @(Html.Kendo()
                  .Grid<MyObject>()
                  .Name("Name")
                  .TableHtmlAttributes(new { style = "height: auto;" })
                  .Columns(c => {
                      c.Bound(m => m.ObjectId).Hidden();
                      c.Bound(m => m.Type).Title()
                      //Bound other fields
                          if (Model.Property)
                          {
                              c.Bound(m => m.Price).Title()
                              .HeaderHtmlAttributes(new {title = "Price"});
                              //Here I want to change the width of my first column
                              c.Container.Columns.Where(x => x.Title == "Type").FirstOrDefault.Width(200);
                          }
                  })
                  .Scrollable(src => src.Height(261))
                  .DataSource(ds => ds
                      .Ajax()
                      .Events(e => e.Error("app.ui.kendo.onGridError").RequestEnd("app.ui.project.onRequestEnd"))
                      .Read(r => r
                          .Action("Action", "Controller", new { Id = @Model.Id })
                          .Type(HttpVerbs.Get))))

问题在于编译器说“预期方法,委托或事件”。在绑定列之后是否有其他方法可以更改宽度?

2 个答案:

答案 0 :(得分:1)

在绑定之后更改它

1)在剑道网格中附加一个事件,如

 @(Html.Kendo().Grid<SomeModel>()
.Name(Model)
.Events(e => e.DataBound("some_name"))

2)在Jquery

 function some_name(e) {
 // Access the column here to set the width
$('#SomeField').width(percentage)
}

答案 1 :(得分:0)

此问题已由Telerik自己回答过。你去吧! http://www.telerik.com/forums/change-column-widths-after-grid-created

它看起来没有开箱即用,或者至少在2013年是如此。我个人只是从网格中获取选项,更改所需列的宽度,然后将这些选项重新应用到网格中。

我的工作场所使用Kendo处理所有UI,这可能是我在数据绑定后编辑多个选项的最简单方法,即使它们没有通过Kendo方法公开。

下面的代码只是一个例子,可能错过了一些东西,但应该让你开始。

var grid = $("#Name").data("kendoGrid");
var opts = grid.options;
opts.columns[0].width = "1000px";
grid.setOptions(y);

我不相信这需要网格刷新,但它可能会。另外我相信你可以使用与列相关联的字段的字符串名称而不是索引。