Env : SmartGWT Pro 2.3, MySQL.
Scenario : I have a treegrid with users and reporting to (inshort a company reporting hierarchy).
I m trying to implement the functionality to drag n drop user at any level.
Problem : If I drag a user and drop it on any of the managers I need the managers details to perform certain manipulations.
Question : How to get the record details of the target record/on which is the user is dropped i.e. the manager ?
	
If my approach is incorrect, Pls suggest me the correct way !! Any hint will
be helpful...
Thanks,
					Scenario : I have a treegrid with users and reporting to (inshort a company reporting hierarchy).
I m trying to implement the functionality to drag n drop user at any level.
Problem : If I drag a user and drop it on any of the managers I need the managers details to perform certain manipulations.
Question : How to get the record details of the target record/on which is the user is dropped i.e. the manager ?
Code:
	
	final TreeGrid hierarchyTreeGrid = new TreeGrid();  
    	hierarchyTreeGrid.setLoadDataOnDemand(false);
    	//hierarchyTreeGrid.setWidth("50%");
    	hierarchyTreeGrid.setWidth100();
    	hierarchyTreeGrid.setDataSource(userWorkNodesDataDS);
    	hierarchyTreeGrid.setNodeIcon("icons/16/person.png");
        hierarchyTreeGrid.setFolderIcon("tree/icons/base.gif");
        hierarchyTreeGrid.setAlternateRecordStyles(Boolean.TRUE);
        hierarchyTreeGrid.setSmoothFade(Boolean.FALSE);
        hierarchyTreeGrid.setShowConnectors(true);  
        hierarchyTreeGrid.setCanSort(false);
        
        hierarchyTreeGrid.setCanAcceptDroppedRecords(true);
        hierarchyTreeGrid.setCanDragRecordsOut(true);
        hierarchyTreeGrid.setCanReparentNodes(true);
        hierarchyTreeGrid.setCanReorderRecords(true);
        hierarchyTreeGrid.setShowDropIcons(false);  
        hierarchyTreeGrid.setShowOpenIcons(false);  
        hierarchyTreeGrid.setClosedIconSuffix("");
        TreeGridField labelField = new TreeGridField("label");
        hierarchyTreeGrid.setFields(labelField);
        hierarchyTreeGrid.setShowHeader(false);
        hierarchyTreeGrid.setAutoFetchData(false);
        hierarchyTreeGrid.fetchData();
	hierarchyTreeGrid.addDropHandler(new DropHandler() {
			@Override
			public void onDrop(DropEvent event) {
				Record record = hierarchyTreeGrid.getSelectedRecord; ///NEED HELP HERE TO GET THE TARGET /Dropped record details ???
				DSRequest dsRequest = new DSRequest();
				SC.say(record.getAttribute("userId"));
				dsRequest.setAttribute("userId", hierarchyTreeGrid.getSelectedRecord().getAttribute("userId"));
				dsRequest.setAttribute("nodeId", hierarchyTreeGrid.getSelectedRecord().getAttribute("nodeId"));
				
				/*hierarchyTreeGrid.getDataSource().performCustomOperation("dragNodes", record , new DSCallback() {
					@Override
					public void execute(DSResponse response, Object rawData, DSRequest request) {
						
					}
				}, dsRequest);*/
			}
		});
If my approach is incorrect, Pls suggest me the correct way !! Any hint will
be helpful...
Thanks,

Comment