我有一个kendo网格,id =" gridtemplate"定义如下:
<div>
<h4>Download a data import template</h4>
<div data-role="grid"
data-editable="inline"
data-toolbar="['create', 'save']"
data-columns="[
{ 'field': 'TemplateID', 'hidden': 'true', 'width': 270 },
{ 'field': 'TemplateType' },
{ 'field': 'FileName','title': 'FileName'},
{command:{ text: 'download', click: viewModel.Download, name:'Download' } }
]"
data-bind="source: templates,
visible: isVisible,
events: {
save: onSave,
edit: onEdit
}"
style="height: 200px"></div>
</div>
单击每行中的下载按钮,我想获得与该行关联的记录ID。我在我的viewmodel中有一个名为Download的函数,定义如下:
var viewModel = kendo.observable({
isVisible: true,
Download: function (e) {
console.log(id);//want to see the TemplateID here
}
});
对剑道来说相对较新,我不知道怎么做到这一点。请帮忙。提前谢谢。
答案 0 :(得分:2)
您应该能够在下载功能中获取所单击按钮行的dataItem,如下所示:
var grid = this,
dataItem = grid.dataItem(e.currentTarget.closest("tr"));
然后使用dataItem,您可以访问模型的所有字段。
答案 1 :(得分:0)
你可以试试这个:
var viewModel = kendo.observable({
isVisible: true,
Download: function (e) {
var grid = $("#gridtemplate").data("kendoGrid"); //assuming the grid name is gridtemplate
var selectedItem = grid.dataItem(grid.select());
console.log(selectedItem.TemplateID);
}
});