Итак, я предполагаю, что вы просто хотите получить заголовок столбца и значение, которое является той конкретной ячейкой, над которой вы наводите курсор, если я правильно понимаю ваш вопрос, вместо того, чтобы показывать весь объект dataItem, т.е.
{ID:1, Text:"Text Value 1"}
Вы просто хотите:
Text : Text Value 1
Предполагая, что это то, что вы хотите, тогда это додзё должно помочь.http://dojo.telerik.com/uleJEbiz
Вот код для справки:
function(e){
var grid = $('#grid').data('kendoGrid');
var rowIndex = e.target.closest("tr").index();
var colIndex = e.target.index();
var dataItem = grid.dataItem(e.target.closest("tr"));
var columns = grid.columns.filter(function(col){
return !col.hidden;
});
var content = 'Found on Row::' + rowIndex + ' Column::' + colIndex +
'<br/>' + columns[colIndex].field + '::' + dataItem[columns[colIndex].field];
return content;
}
Все, что я сделал, посмотрел на проблему как grid
, мы знаем, какую строку мы ищем, но необязательно столбец, за которым мы следуем, поскольку у нас могут быть скрытые столбцы, поэтому мы не можем просто посмотреть на конкретный индекс элемента dataItem, чтобы извлечь этот элемент, поскольку он может быть неправильным.Например, если у вас есть три свойства, но среднее скрыто, то вы в итоге получите неверное значение.
Таким образом, если получить только видимые заголовки столбцов, мы можем ссылаться на свойство по имени поля.
Я, очевидно, изменил строку содержимого, чтобы показать вам позицию строки и столбца, которые мы попали в сетку.