Как поместить значение поля в сетку нижнего колонтитула Kendo?

Я хочу получить значение из поля в моей сетке и поместить его в нижний колонтитул сетки. Есть ли умный способ сделать это как

       columns: [
            {field: "product", title: "Product"},
            {field: "price", title: "Price"},
            {field: "priceDoubledInFooter", title:"priceDoubledInFooter",footerTemplate:#=price*price#},

        ]

1 ответ

Решение

Я подготовил для вас простое додзё: http://dojo.telerik.com/UWOvi/2

Это показывает имена контактов в демонстрационной сетке во всплывающем окне начальной загрузки при нажатии.

Не зная ваших конкретных потребностей, я включил все значения из одного столбца в поповер.

Это достигается созданием функции под названием getMeValues() который назначен шаблону footerTemplate.

Эта функция затем делает следующее:

  function getMeValues(data)
  {
    var gridDS = $('#grid').data('kendoGrid').dataSource.data(); 

    var result = ''; 

    gridDS.forEach(function(row, index){
      result += index + '::' + row.ContactName + '<br/>';
    }); 

return '<button class="btn btn-primary" data-container="body" data-toggle="popover" data-title="I am some data" data-content="' +   result + '"/>' + ' Click Me</button>';

}

Я получаю доступ к data внутри dataSource для сетки, а затем переберите поле ContactName и добавьте его в переменную. Наконец, я создаю кнопку, расположенную в нижнем колонтитуле, которая активирует всплывающее окно для отображения содержимого.

Затем, чтобы заставить вновь созданную кнопку работать, я связываю событие popover внутри dataBound событие сетки, чтобы он знал, чтобы активировать кнопку для меня.

Очевидно, измените этот пример для ваших конкретных потребностей, но если у вас возникнут дополнительные вопросы, я буду рад помочь.

Другие вопросы по тегам