Telerik Kendo UI Grid每行都有不同的按钮

时间:2015-04-10 11:21:45

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

我想实现一个网格,其中有一些默认值,用户可以添加更多。因此,在默认行上它应该只有一个编辑按钮,但在其他行上它应该显示一个编辑和一个删除按钮。如何为不同的行设置不同的按钮。

这是带网格的.cshtml,目前每行都有一个编辑和删除按钮

@(Html.Kendo().Grid<GenericGridDTO>()
              .Name(gridName)
              .Columns(columns =>
              {
                  switch (Model.ControlType)
                  {
                      case ControlTypeEnum.OneRow:
                          columns.Bound(m => m.Specification);
                          break;
                      case ControlTypeEnum.TwoRow:
                          columns.Bound(m => m.Parameter);
                          columns.Bound(m => m.Specification);
                          break;
                  }
                  columns.Command(command => { command.Edit(); command.Destroy(); }).Width(AppConstants.gridActionsWidth);
              })
              .ToolBar(toolbar => toolbar.Create())
              .Editable(editable => editable.Mode(GridEditMode.InLine))
              .DataSource(dataSource => dataSource
                .Ajax()
                .Sort(sort => sort.Add("Order").Ascending())
                .Model(model =>
                {
                    model.Id(p => p.Id);
                    model.Field(f => f.ParentId).DefaultValue(Model.ParentId);
                    model.Field(f => f.TableId).DefaultValue(Model.TableId);
                    model.Field(f => f.Order).DefaultValue(Model.DataSource.OrderBy(d => d.Order).LastOrDefault().Order + 1);
                    model.Field(f => f.ParentTable).DefaultValue(Model.ParentTable);
                })
                .Create(update => update.Action("CreateGeneric", "Generic"))
                .Update(update => update.Action("EditGeneric", "Generic"))
                .Destroy(update => update.Action("DeleteGeneric", "Generic"))
              )
              .BindTo(Model.DataSource)
              )

在GenericGridDTO.cs我有这个

//Id of default parameter, null if manually added
public int? DefaultParameterId { get; set; }

0 个答案:

没有答案