[CLOSED] # Selecting TreePanel Nodes based on Store Values

  1. #1

    [CLOSED] # Selecting TreePanel Nodes based on Store Values

    Hi how can i select Treepanel nodes and childs based on values in store data in jscript?

    Something like this we do in Gridpanel.

    function selectRows(store, records) {
                   store.each(function (record) {
                       if (record.get("ID") == txtID.getValue()) {
                           records.push(record);
                       }
                   })
    
                   GridPanel1.getSelectionModel().selectRecords(records);
    
               }
    Last edited by Daniil; Apr 01, 2011 at 1:13 PM. Reason: Please use [CODE] tags, [CLOSED]
  2. #2
    Hi,

    By default, there is DefaultSelectionModel.
    http://dev.sencha.com/deploy/dev/doc...SelectionModel

    You could see MultiSelectionModel.
    http://dev.sencha.com/deploy/dev/doc...SelectionModel

    Example
    <ext:TreePanel ID="TreePanel1" runat="server" ...>
        ...
        <SelectionModel>
            <ext:MultiSelectionModel runat="server" />
        </SelectionModel>
    </ext:TreePanel>
    To go through all nodes you could use TreeNode's .cascade() method. You could investigate TreeNode's API:
    http://dev.sencha.com/deploy/dev/doc....tree.TreeNode

    To select a node you could use the MultiSelectionModel's .select() method.

    The following code selects all nodes in the tree:
    TreePanel1.root.cascade(function (node) {
        TreePanel1.getSelectionModel().select(node, null, true);    
    });
  3. #3
    Hi have different setup Page contains grid so when user clicks on Edit button inside

    var commandHandler = function (cmd, record) {
                switch (cmd) {
                    case "edit":
                    dsSchema.reload();
                     var root = TreePanel1.getRootNode();
                      for (var i = 0; i < root.childNodes.length; i++) {
                            var nodeArray = root.childNodes[i].childNodes;
                            for (var j = 0; j < nodeArray.length; j++) {
                              //Here i want to check if nodeArray[j].id is equal to dsSchema.data.Id                        }
                      }
                   }
    }
    
    My Store is like this
    
     <ext:Store runat="server" ID="dsSchema" AutoDataBind="true" AutoLoad="false">
              <Proxy>
                <ext:HttpProxy DisableCaching="true" Url="/Data/GetByProfile/" />
              </Proxy>
            <Reader>
                <ext:JsonReader Root="data">
                    <Fields>
                        <ext:RecordField Name="Icon" />
                        <ext:RecordField Name="Id" />
                        <ext:RecordField Name="ParentID" />
                        <ext:RecordField Name="Title" />
                    </Fields>
                </ext:JsonReader>
            </Reader>
         </ext:Store>
    Last edited by Daniil; Apr 01, 2011 at 1:09 PM.
  4. #4
    Please wrap the code in [CODE] tags, see
    Forum Guidelines For Posting New Topics
  5. #5
    If you need to reload the store before selecting, please move selecting code in the load's callback.

    Example
    store.reload({
         callback : function (records) {
             //the code to select nodes
         }
    });

Similar Threads

  1. [CLOSED] Pre-Selecting gridpanel checkbox nodes..
    By PhilG in forum 1.x Legacy Premium Help
    Replies: 2
    Last Post: Jun 12, 2012, 8:29 AM
  2. [CLOSED] Multi-combo not selecting values after formpanel loads
    By jlosi in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: May 11, 2012, 6:33 PM
  3. Replies: 2
    Last Post: Mar 15, 2012, 6:04 AM
  4. [CLOSED] Problem with selecting values in gridpanel.
    By tlfdesarrollo in forum 1.x Legacy Premium Help
    Replies: 7
    Last Post: Jan 16, 2012, 1:38 PM
  5. Selecting multiple values in Multiselect
    By masudcseku in forum 1.x Help
    Replies: 1
    Last Post: Nov 23, 2011, 7:26 AM

Tags for this Thread

Posting Permissions