Добавить опцию удаления в Kendo Grid

У меня есть сетка пользовательского интерфейса Kendo, которая отображает некоторые данные. Но теперь мне нужно добавить опцию удаления, чтобы можно было удалять и строки. Но как это работает?

Я добавил в сетку метод Destroy. Но это только для того, чтобы он знал, что Action вызывать.

Как я могу добавить значок удаления для каждой строки, например, в сетку? Или как это обычно работает в сетке кендо?

Это код, который у меня есть до сих пор:

@(Html.Kendo().Grid<DescriptorWithResource>()
      .Name("grid")
      .PrefixUrlParameters(false)
      .Columns(columns =>
      {
          columns.Bound(x => x.Code).Title(Html.GetResource(KnownComponent, "ManagedDescriptorCode")).Width(250);
          columns.Bound(x => x.Description).Title(Html.GetResource(KnownComponent, "ManagedDescriptorDescription")).Width(500);
      })
      .Pageable(pager => pager.Info(true)
          .Refresh(false)
          .PageSizes(false)
          .PreviousNext(false)
          .Numeric(false)
          .Enabled(true)
          .Messages(m => m.Display(@Html.GetResource(KnownComponent, "Label_TotalRecordsResource"))))
      .Scrollable(scrollable => scrollable.Virtual(true))
      .Selectable(selectable => selectable.Enabled(false))
      .Events(e => e.DataBound("window.KendoExtensions.bindHoverEffect"))
      .DataSource(dataSource => dataSource
          .Ajax()
          .PageSize(50)
          .Events(e => e
              .RequestStart("window.Management.onDataSourceBinding")
              .Error("window.Management.onDataSourceError"))
          .Read(read => read.Action("ResultData", "Management"))
          .Destroy(destroy => destroy.Action("DeleteRow", "Management"))) // <-- Added
      )

person Vivendi    schedule 11.11.2013    source источник


Ответы (2)


Вы можете добавить HTML-шаблон для этого конкретного столбца для каждой строки. В шаблоне html у вас может быть кнопка или ссылка для удаления. ПО НАЖАТИЮ на эту кнопку/ссылку вы можете вызвать свое действие.

template: '<input type="button" data-id=ID value="Delete" class="popupbutton" id="delButton" onclick="javascript:CheckAck(this);" id="Delete" /><br/>
person ckv    schedule 11.11.2013

Вам нужно объявить его через построитель команд.

columns => columns.Command(cmd=>cmd.Destroy())
person Petur Subev    schedule 11.11.2013