我想获取所选行“ID”,但它只是失败了......我完全不知道这里发生了什么。 MVC HTML代码:
@(Html.Kendo().Grid(Model)
.Name("grid")
.HtmlAttributes(new { style = "margin-top: 5px" })
.Columns(c =>
{
c.Bound(model => model.mgID);
c.Command(com => { com.Custom("Edit").Click("Edit");});
})
.Pageable()
.Sortable()
.Selectable()
.DataSource(d => d
.Ajax()
.PageSize(20)
.Model(model => model.Id(i => i.mgID))
.Read(r => r.Action("Manage_Read", "Manage"))
.Destroy(o => o.Action("Manage_Destroy", "Manage"))
)
)
Javascript代码:
function Edit() {
var grid = $("#grid").data("kendoGrid");
var row = grid.select();
var selectedRowIndex = row.index(); //Return "-1"
var dataItem = grid.dataItem(row); //Return "Undefined"
}
请告诉我,我错过了什么?
答案 0 :(得分:1)
如果只需要获取包含单击的“编辑”按钮的行的dataItem,则可以使用:
function Edit(e) {
var dataItem = this.dataItem($(e.target).closest("tr"));
}
注:
click
事件this
的上下文中,grid
。e.target
是您的按钮,因此我们会查找closest
表格行。