如何从wijmo-flex网格的树视图中的节点转到父节点
How to go to a parent node from a node in a treeview of wijmo flex grid
我正在使用wijmo-flex网格为我的数据创建一个树视图,我可以找到特定节点是否有子节点以及节点的级别,但我无法从给定节点转到父节点。同时检索每一行的索引。
对这个话题的任何见解都会非常有帮助。
$scope.selectionChanged = function(sender,args){
var index = sender.selection.row;
var temp;
console.log(index);
temp = sender._rows[index]._data;
console.log(temp.reports);
};
FlexGrid行有两种风格:常规行(行对象)和节点(GroupRow对象)。常规行没有"级别",但GroupRow对象有一个"级别"属性,可以用来获取节点的级别。
要获取行的父节点,您应该扫描网格的行集合,直到找到一个"级别"比您开始使用的节点小的节点。
这是一把小提琴演示:
http://jsfiddle.net/Wijmo5/8n2yde6f/
查看"getParentNode"方法的实现,这应该是您想要的:
// gets the parent row for a given FlexGrid row.
// returns the parent row or null if original row doesn't have a parent.
function getParentNode(row) {
// get row level
var startLevel = row instanceof(wijmo.grid.GroupRow) ? row.level : -1;
var startIndex = row.index;
// travel up to find parent node
for (var i = startIndex - 1; i >= 0; i--) {
var thisRow = row.grid.rows[i],
thisLevel = thisRow instanceof(wijmo.grid.GroupRow) ? thisRow.level : -1;
if (thisLevel > -1) {
if (startLevel == -1 || (startLevel > -1 && thisLevel < startLevel)) {
return thisRow;
}
}
}
// not found
return null;
};
希望这是有用的。
您要做的是访问所选行的dataItem,并使用您设置的FlexGrid的childItemPath查看它是否包含子项。
以下是一个工作示例:http://jsfiddle.net/banzor/700e6bn2/1/
这是我选择Changed事件的代码。
$scope.selectionChanged = function(sender, args){
var index = args.row;
var row = args.panel.rows[index].dataItem;
var childPath = sender.childItemsPath;
var children = row[childPath];
if (children && wijmo.isArray(children)) {
console.log("Has items: " + children.length);
}
};
相关文章:
- 通过从节点父级获取所有子级对节点进行排序(获取子级数组)
- 在自定义截面树中获取父节点
- 如何避免在取消选中子节点时取消选中父节点
- 如果未选中子节点,则未选中父节点
- 仅使用某些子节点访问xml中父节点的子节点
- 如何以编程方式在 jsTree 中选择一个节点并打开所有父节点
- 使用Javascript设置带有子节点的父节点的类's文本等于.
- 如何确定父节点是否有子节点
- Javascript在没有jQuery的情况下获取X父节点
- 如何从wijmo-flex网格的树视图中的节点转到父节点
- 在没有 jquery 的情况下更改子节点(父节点具有 ID)中的链接文本
- JQuery 选择父节点并更改其类名
- 如何删除javascript中的节点,而不需要父节点为null
- 如果未全部选中子节点,则取消选中父节点
- 如何在JavaScript中删除子节点触发点击事件时的父节点
- 获取下一个不工作Javascript DOM的同级父节点的子节点
- 取消绑定父节点和子节点
- jstree jquery插件-获取父节点的所有子节点和子节点
- 如何创建父节点(=父节点的兄弟节点)
- cloneNode并将所有节点(父节点+子节点)的值相加.Javascript