Kendo TreeList 双击获取树节点信息
Kendo TreeList doubleclick get Tree-node info
我有一个来自 kendo UI 的自定义树列表,我正在使用自定义命令按钮。我正在手动向按钮添加点击事件,还手动隐藏和显示编辑、删除和更新按钮。
这都是因为在树中,我在层次结构中有 3 个级别。第一和第二层是类别,第三层是产品。只有第 3 级应该是可编辑的,所以我创建了一个列模板,其中包含一些脚本检查行的 "Type" 字段,瞧,它起作用了。只有产品获得按钮。
现在我正在探索是否可以在没有按钮但使用 doubleclickevent 的情况下做同样的事情。所以我将 doubleclickevent 添加到 TreeList 但是:
如何获取层次结构信息(级别 3)以检查我们是否在谈论产品?有人有想法吗?
到目前为止,我想出了用于双击的代码:
var treeList = $("#treelist" <here specific class for row items ?> ).on("dblclick", function (e) {
var rowindex = e.target.parentNode.rowIndex; // get rowindex
var tr = $(e.target).closest("tr"); // get the nearest table row (tr)
var treeList = $("#treelist").data("kendoTreeList");
tr.find("#btndelete").addClass("hidden");
tr.find("#btnedit").addClass("hidden");
tr.find("#btnupdate").removeClass("hidden");
treeList.saveRow(); // any other rows in editmode.. close
treeList.editRow(tr[0]); // put selected row in editmode
//if ($("#treeView").getKendoTreeList().dataItem(node).items.length == 0) {
// These lines where from treeview. I have to adapt the for TreeList somehow
// This if-statement should mean that you are on an Item that has no Child items
// Use $("#treeView").getKendoTreeView().dataItem(node) to get values from
// the dataitem
//}
});
试试这个:
var dataItem = $("#treelist").data("kendoTreeList").dataItem($(e.target).closest("tr"));
当前单击 tr
您可以使用 Grid 的 dataItem
方法从当前行获取数据项:
if (dataItem.Type == 3) // Or whatever that make your condition
我有一个来自 kendo UI 的自定义树列表,我正在使用自定义命令按钮。我正在手动向按钮添加点击事件,还手动隐藏和显示编辑、删除和更新按钮。
这都是因为在树中,我在层次结构中有 3 个级别。第一和第二层是类别,第三层是产品。只有第 3 级应该是可编辑的,所以我创建了一个列模板,其中包含一些脚本检查行的 "Type" 字段,瞧,它起作用了。只有产品获得按钮。
现在我正在探索是否可以在没有按钮但使用 doubleclickevent 的情况下做同样的事情。所以我将 doubleclickevent 添加到 TreeList 但是:
如何获取层次结构信息(级别 3)以检查我们是否在谈论产品?有人有想法吗?
到目前为止,我想出了用于双击的代码:
var treeList = $("#treelist" <here specific class for row items ?> ).on("dblclick", function (e) {
var rowindex = e.target.parentNode.rowIndex; // get rowindex
var tr = $(e.target).closest("tr"); // get the nearest table row (tr)
var treeList = $("#treelist").data("kendoTreeList");
tr.find("#btndelete").addClass("hidden");
tr.find("#btnedit").addClass("hidden");
tr.find("#btnupdate").removeClass("hidden");
treeList.saveRow(); // any other rows in editmode.. close
treeList.editRow(tr[0]); // put selected row in editmode
//if ($("#treeView").getKendoTreeList().dataItem(node).items.length == 0) {
// These lines where from treeview. I have to adapt the for TreeList somehow
// This if-statement should mean that you are on an Item that has no Child items
// Use $("#treeView").getKendoTreeView().dataItem(node) to get values from
// the dataitem
//}
});
试试这个:
var dataItem = $("#treelist").data("kendoTreeList").dataItem($(e.target).closest("tr"));
当前单击 tr
您可以使用 Grid 的 dataItem
方法从当前行获取数据项:
if (dataItem.Type == 3) // Or whatever that make your condition