Results 1 to 3 of 3

Thread: TreeTable Reordering Bug

    Thank you for reporting this bug. We will make it our priority to review this report.
  1. #1
    Sencha Premium Member
    Join Date
    Mar 2009
    Posts
    11
    Vote Rating
    0
      0  

    Exclamation TreeTable Reordering Bug

    I have a TreeTable with SelectionMode.MULTI, when two or more items are selected and dragged, the items are allowed to be dropped in the dragged items except for the last selected item, this makes the dragged items disappear. The selected items belongs to the same TreeTableItem parent.

  2. #2
    Sencha Premium Member
    Join Date
    Sep 2007
    Posts
    13,976
    Vote Rating
    132
      0  

    Default

    You really need to supply some code. Please see this thread on how to report a bug: http://www.extjs.com/forum/showthread.php?t=40289

  3. #3
    Sencha Premium Member
    Join Date
    Mar 2009
    Posts
    11
    Vote Rating
    0
      0  

    Default

    I'm using GXT 2.0 built on April 24th 2009

    I've tested it in hosted and web mode on IE8 and Firefox 3.0.10 on Windows XP Pro SP3

    Code:
    TreeTable treeTable = new TreeTable();
    treeTable.setAnimate(false);
    treeTable.setSelectionMode(SelectionMode.MULTI);
    
    treeTable.addListener(Events.BeforeCollapse, new Listener<TreeEvent>() {
        public void handleEvent(TreeEvent te) {
        if (te.getItem().getParentItem() == treeTable.getRootItem()) {
            te.setCancelled(true);
        }
        }
    });
    
    MemoryProxy<List<BaseModelData>> memoryProxy = new MemoryProxy<List<BaseModelData>>(null) {
        @Override
        public void load(DataReader<List<BaseModelData>> reader, Object loadConfig, AsyncCallback<List<BaseModelData>> callback) {
        try {
            List<BaseModelData> children = new ArrayList<BaseModelData>();
    
            ...
    
            callback.onSuccess(children);
        } catch (Exception e) {
            callback.onFailure(e);
        }
        }
    };
    
    treeTableLoader = new BaseTreeLoader<BaseModelData>(memoryProxy);
    
    treeTableStore = new TreeStore<BaseModelData>(treeTableLoader);
    treeTableStore.setStoreSorter(new StoreSorter<BaseModelData>() {
        @Override
        public int compare(Store<BaseModelData> store, BaseModelData m1, BaseModelData m2, String property) {
    
        ...
    
        return super.compare(store, m1, m2, property);
        }
    });
    
    final TreeTableBinder<BaseModelData> treeTableBinder = new TreeTableBinder<BaseModelData>(treeTable, treeTableStore);  
    treeTableBinder.setDisplayProperty("name");  
    
    
    TreeDragSource treeTableDragSource = new TreeDragSource((TreeTableBinder) treeTableBinder);
    treeTableDragSource.addDNDListener(new DNDListener() {
        @Override
        public void dragStart(DNDEvent dnde) {
        TreeItem item = treeTable.findItem(dnde.getTarget()); 
        if (item != null && item == treeTable.getRootItem().getItem(0) && treeTable.getRootItem().getItemCount() == 1) {
            dnde.setCancelled(false);
            dnde.getStatus().setStatus(false);
            return;
        }
        }
    });
    
    TreeDropTarget treeTableDropTarget = new TreeDropTarget((TreeTableBinder) treeTableBinder);
    treeTableDropTarget.setAllowSelfAsSource(true);
    treeTableDropTarget.setOperation(Operation.MOVE);
    treeTableDropTarget.setFeedback(Feedback.INSERT);

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •