Как я могу предотвратить событие редактора в сетке Kendo? - PullRequest
0 голосов
/ 28 марта 2020

Когда я нажимаю на ссылку загрузки в прикрепленном примере, я хочу, чтобы выполнялось только событие загрузки, но не событие редактора.

Пример Dojo: https://dojo.telerik.com/EcEDiGUB/27

HTML:

<div id="grid"></div>

JS:

var grid;
$(document).ready(function(){
grid = $("#grid").kendoGrid({
  columns: [
    { 
      field: "name",
    },
    { 
      field: "file",
      template: function(e){
       return '<div class="box">' + e.file + '</div>';
      },
      editor: function(e){
        alert("open media editor");
        return true;
      }
    }
  ],
  dataSource: {
   data: [
    { id: 1, name: "Jane Doe", file: "<div class='container'></div>" +
                                        "<div class='file k-icon k-i-file-pdf'></div>" +
                                        "<div class='download k-icon k-i-download'></div>" +
                                      "</div>" },
    { id: 2, name: "John Doe", file: "<div class='container'></div>" +
                                        "<div class='file k-icon k-i-file-pdf'></div>" +
                                        "<div class='download k-icon k-i-download'></div>" +
                                      "</div>" +
                                      "<div class='container'></div>" +
                                        "<div class='file k-icon k-i-file-xls'></div>" +
                                        "<div class='download k-icon k-i-download'></div>" +
                                      "</div>" }
   ],
   schema:{
    model: {
     id: "id",
     fields: {
       file: { type: "string"}
     }
    }
   }
  },
  editable: true,
}).data("grid");


$(".download").on("click", function(e){
  e.preventDefault();
  alert("download media"); 
});

Теперь редактируемый режим:

editable: true,

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

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

1 Ответ

0 голосов
/ 29 марта 2020

вы можете использовать свойство columns.editable:

{ 
      field: "file",
      template: function(e){
       return '<div class="box">' + e.file + '</div>';
      },
      editable: function(){
        return false;
      },
      editor: function(e){
        alert("open media editor");
        return true;
      }
    }

Dojo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...