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

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

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

        ]

person DraganK    schedule 06.04.2017    source источник
comment
вы смотрели на этот пример: demos.telerik.com/kendo-ui/grid/aggregates   -  person David Shorthose    schedule 06.04.2017
comment
да, делал, но мне не нужны групповые шаблоны и агрегаты, мне нужно просто скопировать значение из поля в футер.   -  person DraganK    schedule 06.04.2017


Ответы (1)


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

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

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

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

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

  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 в источнике данных для сетки, а затем перебираю поле ContactName и добавляю его в var. Наконец, я создаю кнопку, которая помещается в нижний колонтитул, которая активирует всплывающее окно для отображения содержимого.

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

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

person David Shorthose    schedule 06.04.2017
comment
эй, теперь мне нужна только одна строка, цикл foreach не нужен. Как я могу получить доступ к значению строки без функции (строка, индекс)? - person DraganK; 07.04.2017
comment
как узнать, к какой строке вы хотите получить доступ? если вы знаете строку, вы можете просто нажать на индекс массива, который возвращается из набора данных сетки. например. gridDS[10] получит доступ к строке 11 набора данных - person David Shorthose; 07.04.2017
comment
я пробовал, ха-ха, но теперь мне нужно получить строковое значение из этого. Я получаю [объект Объект] - person DraganK; 07.04.2017
comment
если вы получаете элемент, который вам нужен, вам нужно сослаться на свойство, которое вам нужно, из этого элемента, например gridDS[10].SomeProperty - person David Shorthose; 07.04.2017
comment
переменная valueRandom = gridDS[0].base; предупреждение (случайное значение); и я получаю TypeError: gridDS[0] не определен, хм, база SomeProperty - person DraganK; 07.04.2017
comment
Я использовал этот код в качестве примера. Вам нужно вернуть свойство элемента, к которому вы обращаетесь, если вы можете предоставить образец (dojo/jsfiddle), я могу посоветовать лучше - person David Shorthose; 07.04.2017
comment
pastebin.com/KndsD1KP — это код сетки и функции. Надеюсь, это внесет некоторую ясность в ситуацию. Спасибо! - person DraganK; 10.04.2017
comment
Я подготовил это додзе для вас. dojo.telerik.com/eWEyI/3 Я установил шаблон для отображения первого элемента в список, если вы измените индекс, вы увидите, что нижний колонтитул изменится соответственно - person David Shorthose; 10.04.2017