2

我想获得选定的行“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"

    }

请告诉我,我错过了什么?

4

1 回答 1

1

如果您只需要获取包含单击的“编辑”按钮的行的数据项,您可以使用:

function Edit(e) {
    var dataItem = this.dataItem($(e.target).closest("tr"));
}

笔记:

  • click事件的上下文中thisgrid.
  • 在相同的上下文中e.target是您的按钮,因此我们查找closest表格行。
于 2013-05-22T10:09:15.763 回答