从工具栏按钮获取所选行剑道网格的 PK

Posted

技术标签:

【中文标题】从工具栏按钮获取所选行剑道网格的 PK【英文标题】:Get PK of Selected Row Kendo Grid From Toolbar Button 【发布时间】:2015-10-17 20:14:24 【问题描述】:

我有一个带有自定义工具栏按钮的可选剑道网格。 单击按钮时如何获取选定的行PK? 我尝试了很多技巧,但没有一个有效,因为我有一个服务器数据源。

    <%: html.Kendo().Grid<Web.Models.Model>() 
    .Name("Grid")
    .BindTo((IEnumerable<Web.Models.Model>)ViewBag.List)
    .Columns(columns =>
    
        columns.Bound(p => p.PK).Title("PK");
        columns.Bound(p => p.STATUS).Title("Status");
        columns.Bound(p => p.NOTES).Title("Notes");                      
    )

    .ToolBar(toolbar =>
    
        toolbar.Custom();
        toolbar.Template("<a class='k-button k-button-icontext' onClick='EditItem();' ></span>Edit Item</a>");
    )    
    .DataSource(dataSource => dataSource
        .Server()
        .Model(Model => Model.Id(p => p.PK))
        )   
    .Selectable(selectable => selectable
        .Mode(GridSelectionMode.Multiple))  

%>



function EditItem(e) 

???

;

【问题讨论】:

请尝试 Jquery 中的 Find 方法。 【参考方案1】:

请尝试以下代码 sn-p。

<script>
    function EditItem()  
        var grid = $("#Grid").data("kendoGrid");
        var rows = grid.select();
        rows.each(function (index, row) 
            var selectedItem = grid.dataItem(row);
            alert(selectedItem.PK);
        );
    
</script>

如果有任何问题,请告诉我。

【讨论】:

不起作用。未捕获的类型错误:无法读取未定义的属性“1”。 请在您的项目中一一添加Edititem()函数的代码行并检查。【参考方案2】:

您可以使用纯 jquery 作为另一种选择

var rowID = $("#Grid .k-state-selected").find("td:eq(0)")[0].innerText
alert(rowID)

【讨论】:

【参考方案3】:

这个有效!

                function EditItem(e) 

                    var selectedRows = $("#Grid").find(".k-state-selected");
                    for (var i = 0; i < selectedRows.length; i++) 
                        var selectedRow = selectedRows[i];
                        var PK = selectedRows[i].cells[0].innerText;
                    

                ;

【讨论】:

以上是关于从工具栏按钮获取所选行剑道网格的 PK的主要内容,如果未能解决你的问题,请参考以下文章

剑道网格滚动到选定的行

使用剑道网格,如何更改工具栏中“创建”按钮上的措辞?

设置所选页码 - 剑道网格

ASP.NET 中gridview 中的选择按钮取到所选行的关键字段

在为另一个乐队创建新行后设置选择的超网格行?

如何在 UIPICKERVIEW (iOS) 中获取所选行的索引号