MVC Kendo UI Grid = 自定义按钮无法返回选定的行 ID

Posted

技术标签:

【中文标题】MVC Kendo UI Grid = 自定义按钮无法返回选定的行 ID【英文标题】:MVC Kendo UI Grid = Custom Button can't return selected row id 【发布时间】:2013-05-17 06:37:57 【问题描述】:

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

    

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

【问题讨论】:

【参考方案1】:

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

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

注意:

click 事件的上下文中thisgrid。 在相同的上下文中,e.target 是您的按钮,因此我们查找 closest 表格行。

【讨论】:

以上是关于MVC Kendo UI Grid = 自定义按钮无法返回选定的行 ID的主要内容,如果未能解决你的问题,请参考以下文章

如何在 kendo.ui.grid 中创建自定义 kendo.ui.Window 以进行编辑

Kendo UI MVC Grid DataSourceRequest JavaScript 发布附加数据

Kendo UI MVC——如何获得更灵活的网格自定义命令?

ASP.Net MVC Kendo Grid 的自定义分页

Kendo UI 将 DropDownList 添加到 Grid (MVC)

Kendo Grid MVC - 服务器导出 Excel 日期时间字段(自定义格式)