在Kendo UI网格中更改列

Ctrl_Alt_Defeat

我有一个ASP.NET MVC 5应用程序。Kendo UI将对Web API控制器的调用网格化以检索数据。我需要根据什么是Fuel类型的汽车来更改列的内容。因此,在页面模型上,我为Fuel Type创建了一个字符串。然后在MVC控制器中将其设置如下:

model.FuelType = "Diesel"; //just hardcoded for testing in reality will be dynamically set by User in a Previous screen - could be set to Petrol in which case I need to change column data

在局部视图上,我具有如下定义的Kendo UI网格-在PartialView上,我还有html.hiddenfor存储FuelType的值

  @(Html.Kendo().Grid<Car.Web.Models.CarViewModel>()
                          .Name("CarViewGrid")
                          .Columns(columns =>
                          {
                              columns.Bound(c => c.Make).Width(180);
                              columns.Bound(c => c.ModelNo).Width(280);
                              columns.Bound(c => c.EngineSize).Width(120);
                              columns.Bound(c => c.Colour).Width(65);
                              columns.Bound(c => c.MPG).Width(65);

                              columns.Bound(c => c.CarId)
                                  .Title("Include in Report")
                                  .ClientTemplate("<input type=\"checkbox\" name=\"selectedIds\" value=\"#=CarId#\" class=\"checkboxClass\" />")
                                      .Width(90)
                                      .Sortable(false); 
                          })
                          .Events(builder => builder.DataBound("gridDataBound"))
                          .HtmlAttributes(new { style = "height: 420px;" })
                          .Scrollable()
                          .Sortable(sortable => sortable
                              .AllowUnsort(true)
                              .SortMode(GridSortMode.MultipleColumn))
                          .Pageable(pageable => pageable
                              .PageSizes(true)
                              .ButtonCount(5))
                          .DataSource(dataSource => dataSource
                              .Ajax()
                             .Read(read => read.Url("api/Car/GetCarDetails").Type(HttpVerbs.Get).Data("GetCustId"))
                          )
                          )

我在列中保留了一行空白,因此我需要在其中添加其他列-如果FuelTyle是Petrol,则需要

columns.Bound(c => c.NumberSparkPlugs).Width(65);

但是如果FuelType是Diesel,我需要

columns.Bound(c => c.Torque).Width(65);

这两个都是我的CarViewModel上的字符串属性。

有没有人用Kendo UI Grid做过类似的事情,或者可以建议实现这一目标的最佳方法?

峰值编码

我在Visual Studio中没有Kendo MVC项目来对此进行测试,但是您不能只使用以下if语句:

                      .Columns(columns =>
                      {
                          columns.Bound(c => c.Make).Width(180);
                          columns.Bound(c => c.ModelNo).Width(280);
                          columns.Bound(c => c.EngineSize).Width(120);
                          columns.Bound(c => c.Colour).Width(65);
                          columns.Bound(c => c.MPG).Width(65);

                          columns.Bound(c => c.CarId)
                              .Title("Include in Report")
                              .ClientTemplate("<input type=\"checkbox\" name=\"selectedIds\" value=\"#=CarId#\" class=\"checkboxClass\" />")
                                  .Width(90)
                                  .Sortable(false); 

// added code here...
                          if(Model.FuelType == "Petrol")
                              columns.Bound(c => c.NumberSparkPlugs).Width(65);
                          else
                              columns.Bound(c => c.Torque).Width(65);
                      })

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Kendo UI网格URL列

来自分类Dev

Kendo UI网格模板列

来自分类Dev

HTML表格中的Kendo UI网格-更改事件不会触发

来自分类Dev

kendo ui网格背景更改事件

来自分类Dev

kendo ui网格背景更改事件

来自分类Dev

在Kendo UI网格中重置重新排序的列

来自分类Dev

Kendo UI网格更新

来自分类Dev

Kendo UI网格:选择整个列

来自分类Dev

kendo ui网格列模板未应用

来自分类Dev

网格中的Kendo UI DropDownList ForeignKey

来自分类Dev

Kendo UI-网格中的工具提示

来自分类Dev

在Kendo网格中更改数据太慢

来自分类Dev

在Kendo网格中更改数据太慢

来自分类Dev

Kendo网格列标题

来自分类Dev

Kendo UI 数据网格:如何根据状态标志整数值更改列显示值

来自分类Dev

如何在Kendo UI TreeList中动态更改列标题?

来自分类Dev

Kendo中的条件网格列模板

来自分类Dev

如何在Kendo UI中更改网格页面大小的默认值?

来自分类Dev

我可以在MVC中更改Kendo UI网格的工具提示的默认操作吗?

来自分类Dev

如何在kendo ui网格中检查和更改单元格值的颜色

来自分类Dev

如何在Kendo MVC UI网格中动态更改单元格的背景?

来自分类Dev

Kendo TabStrip中的Kendo MVC网格

来自分类Dev

Kendo UI网格-显示行号

来自分类Dev

Kendo UI网格绑定错误

来自分类Dev

Kendo UI网格层次结构

来自分类Dev

Kendo UI网格层次结构

来自分类Dev

Kendo UI网格-升序排序

来自分类Dev

UI对Kendo网格无响应

来自分类Dev

Kendo UI网格添加链接