我的网格中有一个嵌套网格,它工作得很好,但是客户端不喜欢使用左侧的箭头并要求添加一个按钮以显示子网格。
Kendo 网站上的示例显示了如何自动打开第一行,我只是想要一种从自定义控件扩展网格的方法,就像左侧选择器一样。
我已经让自定义命令正常工作,并且它执行示例代码,但我只需要一些有关使其适用于当前行所需的 javascript 的帮助。
columns.Command(command =>
{
command.Edit().Text("Edit").UpdateText("Save");
command.Destroy().Text("Del");
command.Custom("Manage Brands").Click("showBrandsForAgency");
以及打开第一行的标准示例的js:
function showBrandsForAgency(e) {
this.expandRow(this.tbody.find("tr.k-master-row").first());
}
请通过给我扩展单击的行而不是第一行所需的 js 来帮助我?
* 编辑 * 修改了 Atanas Korchev 提供的解决方案,以使其仅在按钮而不是整行上工作。
我更喜欢使用函数 showBrandsForAgency 而不是自定义函数的解决方案,但这可以完成工作:
$(document).ready(function () {
$("#grid").on("click", "a", function (e) {
var grid = $("#grid").data("kendoGrid");
var row = $(this).parent().parent();
if (row.find(".k-icon").hasClass("k-minus")) {
grid.collapseRow(row);
} else {
grid.expandRow(row);
}
});
});