function fGetGridTreeNextChild(grid, parents_row, level_col_label, parents_col_label){ var level_col_index = grid.colRef(level_col_label); var parents_col_index = grid.colRef(parents_col_label); var child_offset = -1; var insert_index = -1; var child_index = -1; var parents = "root"; var child_level = 1; var child_seq = 1; var child_info = new Array(6); if(grid.rows==1) { child_info[0] = -1; child_info[1] = -1; child_info[2] = 1; child_info[3] = "root"; child_info[4] = 1; child_info[5] = 1; return child_info; }else{ if(parents_row==-1||parents_row==0){ child_offset = 1; parents = "root"; child_level = 1; }else{ var parents_level = new Number(grid.valueMatrix(parents_row, level_col_index)); child_offset = parents_row+1; insert_index = parents_row; child_index = 2; child_level = parents_level+1; parents = grid.valueMatrix(parents_row, parents_col_index); } while( child_offset < grid.rows ){ var comp_level = grid.valueMatrix( child_offset, level_col_index ); if( comp_level == child_level ){ insert_index = child_offset; child_seq++; }else if(comp_level > child_level ){ insert_index = child_offset; }else if(comp_level < child_level ){ break; } child_offset++; } child_index = insert_index+1; var offset_info = new Array(6); offset_info[0] = child_offset; offset_info[1] = insert_index; offset_info[2] = child_index; offset_info[3] = parents; offset_info[4] = child_level; offset_info[5] = child_seq; return offset_info; } } function fFindGridItem(grid, target_col_index, target){ for( var i=grid.fixedrows; inext; if(has_next){ var next_level = new Number(grid.valueMatrix(next, grid.colRef(level_col))); return level 1 ){ var level = grid.valueMatrix(target_offset, level_col_idx); if(level>=prev_level) { target_offset = target_offset - 1; continue; }else if(level0; i--){ var varidx = i-1; var target_parents = target_parents_list[varidx]; grid.iscollapsed(target_parents)=false; } break; } } return target_index; }