Sep 14, 2016, 7:34 AM
[CLOSED] TreePanel selection behaviour
Test the sample below in 2.5 and 4.1
Load the page.
The 2.5 behaviour: The root node ("0") is selected (even if not visible) and thus the SelectedNodes property is not null, nor empty.
4.1: The root node ("0") is not selected and thus the SelectedNodes property is null.
Load the page.
The 2.5 behaviour: The root node ("0") is selected (even if not visible) and thus the SelectedNodes property is not null, nor empty.
4.1: The root node ("0") is not selected and thus the SelectedNodes property is null.
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function SelectNode(nodeID)
{
var tree = Ext.getCmp("TestTreePanel");
var node = tree.store.getNodeById(nodeID);
if (node != undefined)
{
tree.getSelectionModel().select(node);
}
}
</script>
<script runat="server">
protected void Page_Load( object sender, EventArgs e )
{
}
protected void TreeNodeChanged( object sender, DirectEventArgs e )
{
VerifySelection( "TreeNodeChanged" );
}
private void VerifySelection( string sMethodName )
{
if ( TestTreePanel.SelectedNodes != null && TestTreePanel.SelectedNodes.Count > 0 )
{
//get submitted node
SubmittedNode nodeSubmitted = TestTreePanel.SelectedNodes.FirstOrDefault();
if ( nodeSubmitted != null )
{
X.Msg.Alert( sMethodName, nodeSubmitted.NodeID ).Show();
}
else
{
X.Msg.Alert( sMethodName, "Null node" ).Show();
}
}
else
{
X.Msg.Alert( sMethodName, TestTreePanel.SelectedNodes == null ? "Null selection" : "Empty selection" ).Show();
}//if-else
}
protected void TreeNodeDblClick( object sender, DirectEventArgs e )
{
VerifySelection( "TreeNodeDblClick" );
}
private void SelectRootNode()
{
TestTreePanel.SelectPath( "/0" );
}//SelectRootNode
protected void NodeLoad( object sender, NodeLoadEventArgs e )
{
if ( !String.IsNullOrEmpty( e.NodeID ) )
{
if ( e.NodeID == "0" )
{
SelectRootNode();
}
}
}//NodeLoad
protected void btnTest_DirectClick( object sender, Ext.Net.DirectEventArgs e )
{
VerifySelection( "btnTest_DirectClick" );
}
</script>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager ID="rscManager" runat="server" />
<ext:Button ID="btnTest" runat="server" Text="Test" OnDirectClick="btnTest_DirectClick" />
<ext:TreePanel
ID="TestTreePanel"
runat="server"
Title="Test tree panel"
Border="false"
RootVisible="false" Frame="true" Layout="FitLayout" Flex="1" DeferRowRender="False">
<DirectEvents>
<SelectionChange OnEvent="TreeNodeChanged"></SelectionChange>
<ItemDblClick OnEvent="TreeNodeDblClick"></ItemDblClick>
</DirectEvents>
<Store>
<ext:TreeStore ID="TariffTreeStore" runat="server" OnReadData="NodeLoad">
<Proxy>
<ext:PageProxy />
</Proxy>
<Model>
<ext:Model ID="Model1" runat="server">
<Fields>
<ext:ModelField Name="NodeType" />
</Fields>
</ext:Model>
</Model>
<Parameters>
<ext:StoreParameter Name="ID" Value="2" Mode="Raw" />
</Parameters>
</ext:TreeStore>
</Store>
<Root>
<ext:Node NodeID="0" Text="Root" Expanded="true" />
</Root>
<SelectionModel>
<ext:TreeSelectionModel runat="server" ID="treeSelectionModel" AllowDeselect="True"></ext:TreeSelectionModel>
</SelectionModel>
</ext:TreePanel>
</form>
</body>
</html>
Last edited by fabricio.murta; Sep 16, 2016 at 12:50 AM.