- $('#seleDepartName').combotree({
- url: "../Depart/Test",
- method: 'get',
- loadFilter: function (rows) {
- return convert(rows);
- }
- });
- function convert(rows) {
- function exists(rows, ParentDepartId) {
- for (var i = 0; i < rows.length; i++) {
- if (rows[i].DepartId === ParentDepartId) return true;
- }
- return false;
- }
- debugger;
- var nodes = [];
- // get the top level nodes
- for (var i = 0; i < rows.length; i++) {
- var row = rows[i];
- if (!exists(rows, row.ParentDepartId)) {
- nodes.push({
- id: row.DepartId,
- text: row.DepartName
- });
- }
- }
- var toDo = [];
- for (var i = 0; i < nodes.length; i++) {
- toDo.push(nodes[i]);
- }
- while (toDo.length) {
- var node = toDo.shift(); // the parent node
- // get the children nodes
- for (var i = 0; i < rows.length; i++) {
- var row = rows[i];
- if (row.ParentDepartId == node.id) {
- var child = { id: row.DepartId, text: row.DepartName };
- if (node.children) {
- node.children.push(child);
- } else {
- node.children = [child];
- }
- toDo.push(child);
- }
- }
- }
- return nodes;
- }