TreeGrid selection model not working, SelectedNode is always null

  1. #1

    TreeGrid selection model not working, SelectedNode is always null

    Im using a TreeGrid control for displaying heirarchial data. So far its qworking fine. But I want to perform some tasks when the user selects any node. here is the code for my treegrid

    `<ext:TreeGrid ID="treAccounts" runat="server" Height="570" AutoWidth="true" Title="Accounts">
    <TopBar>
    <ext:Toolbar runat="server" AutoWidth="true">
    <Items>
    </Items>
    </ext:Toolbar>
    </TopBar>
    <Columns>
    <ext:TreeGridColumn DataIndex="Code" Header="Code" Width="100" />
    <ext:TreeGridColumn DataIndex="Account" Header="AccountTitle" Width="400" />
    <ext:TreeGridColumn DataIndex="Status" Header="Status" Width="100" />
    <ext:TreeGridNumberColumn DataIndex="Amount" Header="Amount" Width="100" />
    </Columns>
    <Root>
    <ext:TreeNode Text="hello world" AllowChildren="true" Expanded="true" />
    </Root>
    <BottomBar>
    <ext:PagingToolbar runat="server" PageSize="20" AutoWidth="true" />
    </BottomBar>
    <SelectionModel>
    <ext:DefaultSelectionModel runat="server">
    <DirectEvents>
    <SelectionChange OnEvent="Evt_Select">
    <ExtraParams>
    <ext:Parameter Name="id" Value="22" />
    </ExtraParams>
    </SelectionChange>
    </DirectEvents>

    </ext:DefaultSelectionModel>
    </SelectionModel>
    <DirectEvents>
    <DblClick OnEvent="Evt_Edit" />
    </DirectEvents>
    </ext:TreeGrid>`

    On the code behind I have the following code:

    protected void Evt_Select(object sender, DirectEventArgs args)
    {
    try
    {
    int id = Convert.ToInt32((treAccounts.SelectionModel.Primar y as DefaultSelectionModel).SelectedNode.NodeID);
    Boxes.Info(string.Format("{0} selected", id));
    }
    catch (Exception ex)
    {
    Boxes.Error(ex);
    }
    }


    The problem is that the SelectedNode is always null. Any cluees what mistakes I'm making here?
  2. #2
    Found the solution though not a good one !
    <script type="text/javascript">
        var getSelectedNode = function(treeGrid){
            var selNode = treeGrid.getSelectionModel().getSelectedNode();
            if (selNode) 
                return selNode.id;
            return '0';
        };    
    </script>
    
    
    
    <ext:TreeGrid ID="treAccounts" runat="server"   Height="570" AutoWidth="true" >
        <TopBar>
            <ext:Toolbar runat="server" AutoWidth="true">
                <Items>
                    <ext:Button runat="server" Text="New" Icon="New">
                        <DirectEvents>
                            <Click OnEvent="Evt_New">
                                <ExtraParams>
                                    <ext:Parameter Name="id" Value="getSelectedNode(#{treAccounts})" Mode="Raw" />
                                </ExtraParams>
                            </Click>
                        </DirectEvents>
                    </ext:Button>
                    <ext:Button ID="btnEdit" runat="server" Text="Edit" Icon="Pencil">
                        <DirectEvents>
                            <Click OnEvent="Evt_Edit">
                                <ExtraParams>
                                    <ext:Parameter Name="id" Value="getSelectedNode(#{treAccounts})" Mode="Raw" />
                                </ExtraParams>
                            </Click>
                        </DirectEvents>
                    </ext:Button>
                    <ext:Button ID="btnRefresh" runat="server" Text="Refresh" Icon="Reload" AutoPostBack="true" OnClick="Evt_Refresh">
                    </ext:Button>
                    <ext:ToolbarFill runat="server" />
                    <ext:Button ID="btnDelete" runat="server" Text="Delete" Icon="Delete">
                        <DirectEvents>
                            <Click OnEvent="Evt_Delete">
                                <ExtraParams>
                                    <ext:Parameter Name="id" Value="getSelectedNode(#{treAccounts})" Mode="Raw" />
                                </ExtraParams>
                             </Click>
                        </DirectEvents>
                    </ext:Button>
                </Items>
            </ext:Toolbar>
        </TopBar>
        <Columns>
            <ext:TreeGridColumn DataIndex="Code" Header="Code" Width="150"/>
            <ext:TreeGridColumn DataIndex="Account" Header="AccountTitle" Width="450"  />
            <ext:TreeGridColumn DataIndex="Status" Header="Status" Width="100" />
            <ext:TreeGridColumn DataIndex="AlertAt" Header="Alert at" Width="100" Align="Right"/>
            <ext:TreeGridNumberColumn DataIndex="Amount"  Header="Amount" Width="150" Align="Right"  Format=""/>
        </Columns>
        <Root>
            <ext:TreeNode Text="accounts" AllowChildren="true" Expanded="true"  />
        </Root>
        <BottomBar>
           <ext:StatusBar runat="server" Text="Accounts Ready!" />
        </BottomBar>
        <DirectEvents>
        <Click OnEvent="Evt_Select">
          <ExtraParams>
          <ext:Parameter Name="id" Value="getSelectedNode(#{treAccounts})" Mode="Raw" /> 
          </ExtraParams>
        </Click>
        </DirectEvents>
    </ext:TreeGrid>

Similar Threads

  1. TreePanel selection model
    By joris.moonen in forum 2.x Help
    Replies: 1
    Last Post: Nov 12, 2015, 3:45 PM
  2. Replies: 3
    Last Post: Oct 05, 2012, 11:44 AM
  3. Replies: 2
    Last Post: Aug 09, 2011, 10:38 AM
  4. [CLOSED] Null view model with PartialViewRenderer
    By paulc in forum 1.x Legacy Premium Help
    Replies: 4
    Last Post: Feb 17, 2011, 7:30 AM
  5. [CLOSED] Model selection serious problem SingleSelect not working
    By 78fede78 in forum 1.x Legacy Premium Help
    Replies: 2
    Last Post: Nov 24, 2010, 12:29 PM

Tags for this Thread

Posting Permissions