我的Kendo网格中有自定义按钮,定义为
columns.Template(t => t.id).ClientTemplate(
"<button style='margin:2px' type='button' class='btn btn-success btn-xs' data-toggle='tooltip' data-placement='left' title='Izmeni' onclick=\"OpenPopUp()\"><span class='glyphicon glyphicon-edit'></span></button> " +
"<button style='margin:2px' type='button' style='margin-left:2px' class='btn btn-danger btn-xs' data-toggle='tooltip' data-placement='left' title='Obrisi' onclick=\"modal_xxx_edit(#: id#, 'delete')\"><span class='glyphicon glyphicon-remove-sign'></span></button></div>").Title("Operacije").HeaderHtmlAttributes(new { style = "text-align:center; font-weight: bold" }).HtmlAttributes(new { style = "text-align:center;" }).Width(100);
网格编辑模式定义为PopUp。如何使用JavaScript打开网格中特定行的PopUp窗口?
答案 0 :(得分:1)
您可以使用网格方法editRow
。请尝试以下代码:
按钮模板
<button style='margin:2px' type='button' class='btn btn-success btn-xs'
data-toggle='tooltip' data-placement='left' title='Izmeni'
onclick=\"OpenPopUp(this);\">
<span class='glyphicon glyphicon-edit'></span></button>
注意onclick值的更改,您必须使用this
关键字将当前元素对象作为参数传递给您的函数。
<强>的javascript 强>
function OpenPopUp(e) {
var grid = $("#grid").getKendoGrid(),
selectedRow = $(e).closest("tr");
grid.editRow(selectedRow);
}
editRow
需要网格行元素作为参数来知道用户打算编辑哪条记录。