2014-11-24 2 views
1

У меня есть сетка кендо с кнопочной колонкой. Когда кнопка нажата, я хочу, чтобы она вызывала функцию javascript с данными строки в качестве параметров. Вот что у меня естьKendo grid button click аргументы

$(grd).kendoGrid({ 
    dataSource: ds, 
    detailInit: detailInit, 
    columns: [ {field: "foo", title: "bar" }, 
       {field: "Y" }, 
       {command: { text: "MyButton", click: doStuff } } ] 
    }); 

function doStuff(e) 
{ 
    //e is click events but I want to pass in data from the row instead 
    //following is code I found here but item is null for me 
    var row = $(this).closest("tr"); 
    var item = $(grd).data("kendoGrid").dataItem(row); 
} 

ответ

2

Это даст вам данные, относящиеся к строке, на которую была нажата кнопка.

function doStuff(e) { 

    var tr = $(e.target).closest("tr"); // get the current table row (tr) 
    var item = this.dataItem(tr);   // get the date of this row 

    alert(item.PropertyName); 
} 
+0

хорошо, может быть, я использовал неправильный код? Я не выбираю строку, просто нажимая кнопку в столбце. В настоящее время это то, что я вижу в console.log для tr: [prevObject: n.fn.init [1], context: undefined, jquery: "1.11.0", конструктор: function, selector: "" ...] context: undefinedlength: 0prevObject: n.fn.init [1] 0: T.extend.initlength: 1__proto__: n [0] __ proto__: n [0] –

+0

Я отредактировал свой ответ, чтобы уточнить лучше. Этот кодовый блок будет работать. – CSharper

+0

Спасибо за быстрый ответ! –