riteshsingh_jsr Ответов: 1

Как скрыть кнопку редактирования и удаления в зависимости от статуса каждой записи в сетке кендо


Как скрыть кнопку редактирования и удаления в зависимости от статуса каждой записи в сетке кендо?

Что я уже пробовал:

function onDataBound() {
    //Selects all edit buttons
    $("#Grid tbody tr .k-grid-edit").each(function () {
        var currentDataItem = $("#Grid").data("kendoGrid").dataItem($(this).closest("tr"));
 
        //Check in the current dataItem if the row is editable
        if (currentDataItem.isEditable == true) {
            $(this).remove();
        }
 
             
    })
 
    //Selects all delete buttons
    $("#Grid tbody tr .k-grid-delete").each(function () {
        var currentDataItem = $("#Grid").data("kendoGrid").dataItem($(this).closest("tr"));
 
        //Check in the current dataItem if the row is deletable
        if (currentDataItem.isDeletable == true) {
            $(this).remove();
        }
    })
}

David_Wimbley

Вам, вероятно, нужно опубликовать немного HTML, чтобы мы могли попробовать ваш JS против html. Прямо сейчас будет довольно трудно помочь вам, так как нам придется заново создавать HTML самостоятельно.

riteshsingh_jsr

Привет Дэвид,

Спасибо за обновление. забудьте все JS, пожалуйста, предложите, что я могу сделать для вышеуказанной проблемы.

Спасибо

1 Ответов

Рейтинг:
0

P_Z

Код onDataBound() кажется таким же из этой статьи Скрыть кнопку редактирования и удаления в зависимости от состояния каждой записи. - Grid-Kendo UI Forum[^] ...цитирование источника всегда хорошо

function onDataBound(e) {
//Normally it's better to add "e", in this case you might not use it but is surely important when you're Adding or Editing a record as this helps accessing the row model details (ex: e.model.ID etc). Also you can add custom buttons to your kendo grid and would also need that.
}

Чтобы этот код работал, вам нужно добавить свойства isEditable и isDeletable или аналогичные именованные свойства в вашу модель Ex:
public class MyGridModel
{
    //Create a list of MyGridModel and set these values from the server before loading data in grid
    public int ID { get; set; }
    public bool isEditable { get; set; }
    public bool isDeletable { get; set; }
    ...
}