:: Forum >> Version 2 >>

Tree within a combo?

Is it possible to have a tree control within a combo control?
Peter G.
Monday, July 31, 2006
Maybe - here is possible implementation (experimental, not tested and not supported :-)

AW.Tree.Combo AW.UI.Tree.subclass();

AW.Tree.Combo.create = function(){

    
AW.UI.ImageText.create.call(this);
    
AW.UI.Input.create.call(this);
    
AW.Templates.Combo.create.call(this);

    var 
obj this.prototype;

    
obj.setClass("ui""combo");
    
obj.setClass("input""");

    
obj.defineTemplate("popup", new AW.Templates.Frame);

    
obj.onCurrentItemChanged = function(i){
        var 
text this.getItemText(i);
        
this.setControlText(text);

        
this.hidePopup();

        var 
this.getContent("box/text").element();
        
e.value text;
        
e.select();
        
null;
    };

    
obj.setController("selection", {
        
onItemClicked:        "selectClickedItem"
    
});

};
 
and usage is the same as AW.UI.Tree -

var treeText = ["""Home""Favorites""Font size""Search""Child node 1""Child node 2"];
    var 
treeImage = ["""home""favorites""fontsize""search"];
    var 
treeView = {0:[1234], 1:[56], 2:[7], 3:[8], 4:[9]};

    var 
tree = new AW.Tree.Combo;
    
tree.setId("tree1");
    
tree.setItemText(treeText);
    
tree.setItemImage(treeImage);
    
tree.setViewCount(function(i){return treeView[i? treeView[i].length 0});
    
tree.setViewIndices(function(i){return treeView[i]});

    
document.write(tree);
 
Alex (ActiveWidgets)
Monday, July 31, 2006
Hey Alex,

Thanks. This works great! However, what do I have to do to populate the values from the database? What would be a good way to construct var treeView = {0:[1, 2, 3, 4], 1:[5, 6], 2:[7], 3:[8], 4:[9]}; ?

I have the parent, node and subnode information in the database.

Thanks,

Peter.
Peter G.
Wednesday, August 23, 2006



This topic is archived.

Back to support forum

Forum search