Nov 16, 2011, 10:07 AM
How can we get all TreePanel nodes in code-behind ?
My treepanel is the following :
How can I get all nodes in the Root ?
I've used the following code but TreePanel1.Root is always empty.
<ext:TreePanel ID="TreePanel1" runat="server" UseArrows="true" AutoScroll="true"
Animate="true" EnableDD="true" ContainerScroll="true" RootVisible="false" Height="300"
Collapsible="true" Collapsed="false">
<TopBar>
<ext:Toolbar ID="Toolbar2" runat="server">
<Items>
<ext:ToolbarFill ID="ToolbarFill12" runat="server" />
<ext:ToolbarTextItem ID="ToolbarTextItem2" runat="server" Text="فیلتر:" />
<ext:TriggerField ID="TriggerField2" runat="server" EnableKeyEvents="true">
<Triggers>
<ext:FieldTrigger Icon="Clear" />
</Triggers>
<Listeners>
<KeyUp Fn="filterTree" Buffer="250" />
<TriggerClick Handler="clearFilter();" />
</Listeners>
</ext:TriggerField>
</Items>
</ext:Toolbar>
</TopBar>
<Listeners>
<ContextMenu Fn="showMenu" StopEvent="true" />
</Listeners>
<Root>
......
</Root>
</ext:TreePanel>
I wanna get all TreePanels' nodes and check or uncheck some of them.How can I get all nodes in the Root ?
I've used the following code but TreePanel1.Root is always empty.
public void Chec(List<int> permissionIds)
{
TreeNodeCollection rootNodes = TreePanel1.Root;//this is empty
List<string> stringPermissionIds = permissionIds.Select(q => q.ToString()).ToList();
foreach (TreeNodeBase node in rootNodes)
{
string nodeId = node.NodeID.Remove(0, 1).Trim();
if (stringPermissionIds.Any(q => q == nodeId))
node.Checked = ThreeStateBool.True;
else node.Checked = ThreeStateBool.False;
}
}