Кендо MVC вызова JavaScript из шаблона - PullRequest
0 голосов
/ 02 июня 2018

У меня есть сетка Telerik MVC (НЕ JAVASCRIPT) с включенным groupable ().Столбец, по которому я группирую, содержит ссылку.Ничего страшного, так как это легко для шаблона столбца.Однако шаблоны заголовков не разрешают доступ к данным из столбца, отличного от того, для которого установлена ​​группировка, и все наши ссылки основаны на столбце «ID» (скрыто), тогда как группировка находится на столбце «Имя».
Могу ли я вызвать javascript из шаблона заголовка, чтобы получить данные, которые мне нужны?Вот пример того, что сработало

    .Groupable()
                .Selectable()
                .Columns(columns =>
                {
                columns.Template(@<text></text>).ClientTemplate("#= rowCommandsUndelete(data, false, true) #").Title("&nbsp;").Width(100);
                    columns.Bound(m => m.Active)
                        .Title("Active?")
                        .ClientTemplate("#= ActiveState(data.Active) #")
                        .Width(85);
                    columns.Bound(m => m.Origin.Name)
                        .ClientGroupHeaderTemplate("<a href='www.google.com'>link </a>")
                        .ClientTemplate("<div id='#=data.ID#'></div><a href='/Origins?id=#=data.Origin.ID#'>#=data.Origin.Name#</a>")  //Empty div with "data.ID" is required (see JavaScript section below)
                        .Width(300);

, и это не работает и выдает ошибку: Uncaught TypeError: Невозможно прочитать свойство 'ID' из неопределенного

     columns.Bound(m => m.Origin.Name)
                        .ClientGroupHeaderTemplate("<a href='www.google.com'> #=data.Origin.ID#</a>")

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

окончательный ответ - Сандро.На странице ajax используйте шаблон столбца clientgroupheader, как показано ниже:

     columns.Bound(m => m.Origin.Name)
                        .ClientGroupHeaderTemplate("#=buildHeader( value )#")

buildheader - это функция javascript, а value - встроенное значение в заголовке.Вот функция javascript:

  function buildHeader(value) {
    return "<h4><u><a href='\origins?OriginName=" + encodeURIComponent(value) + "'>" + value + "</a></u></h4>";
}

значение содержало строку из столбца, и я смог создать ссылку таким образом и установить ее в заголовок столбца.Я также успешно вызвал javascript из нижнего колонтитула, чтобы вызвать что-то после вычисления.

0 голосов
/ 02 июня 2018

Это groupHeaderTemplate конфигурация.

Пример :

$("#grid").kendoGrid({
  columns: [
    { field: "name" },
    { field: "link",
      groupHeaderTemplate: "<a href=#=value# target='_blank'>google.com</a>"
    }
  ],
  dataSource: {
    data: [
      { name: "Jane Doe", link: "https://google.com" },
      { name: "John Doe", link: "https://google.com" }
    ],
    group: { field: "link" }
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...