从工具栏按钮获取所选行剑道网格的 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的主要内容,如果未能解决你的问题,请参考以下文章