Feb 11, 2015, 1:19 PM
[FIXED] [#718] [3.1.0] TreeStore's byIdMap remains populated after reload.
On the following example
Expand
Click on
Click on
Node
Thanks in advance.
Expand
Name - 1
nodeClick on
Reload
buttonClick on
Analyze
buttonNode
Name - 11
is present on TreeStore's byIdMap.Thanks in advance.
<!DOCTYPE html>
<html>
<head id="Head1" runat="server">
<script type="text/javascript">
var Reload = function () {
App._trp.getRootNode().reload();
}
var Analyze = function () {
Ext.Msg.alert("Information", App._str.getNodeById(11) != null ? "Record 11 found." : "Record 11 NOT found.")
}
</script>
</head>
<body>
<ext:ResourceManager ScriptMode="Debug" runat="server" />
<ext:TreePanel ID="_trp" RootVisible="false" Title="Ext.Net" Margin="10" Border="true" Height="300" Width="400" runat="server">
<Buttons>
<ext:Button Text="Reload" runat="server">
<Listeners>
<Click Handler="Reload();" />
</Listeners>
</ext:Button>
<ext:Button Text="Analyze" runat="server">
<Listeners>
<Click Handler="Analyze();" />
</Listeners>
</ext:Button>
</Buttons>
<Store>
<ext:TreeStore ClearOnLoad="true" NodeParam="parentID" ID="_str" runat="server">
<Proxy>
<ext:AjaxProxy Url="~/Example/LoadTreeFakeChildren">
<ActionMethods Read="POST" />
<Reader>
<ext:JsonReader RootProperty="data" />
</Reader>
</ext:AjaxProxy>
</Proxy>
<Model>
<ext:Model IDProperty="ID" runat="server">
<Fields>
<ext:ModelField Name="ID" />
<ext:ModelField Name="Name" />
<ext:ModelField Name="LastName" />
</Fields>
</ext:Model>
</Model>
</ext:TreeStore>
</Store>
<Root>
<ext:Node NodeID="0" Text="Root" />
</Root>
<ColumnModel>
<Columns>
<ext:Column Text="ID" DataIndex="ID" runat="server" />
<ext:TreeColumn Text="Name" DataIndex="Name" Flex="2" runat="server" />
<ext:Column Text="LastName" DataIndex="LastName" runat="server" />
</Columns>
</ColumnModel>
</ext:TreePanel>
</body>
</html>
namespace SandBox.Controllers
{
public class ExampleController : System.Web.Mvc.Controller
{
public ActionResult Index()
{
return View();
}
public StoreResult LoadTreeFakeChildren(Nullable<int> parentID)
{
NodeCollection nodes = new NodeCollection(false);
for (int index = 1; index < 6; index++)
{
Node node = new Node
{
NodeID = string.Format("{0}{1}", parentID, index),
};
node.CustomAttributes.Add(new ConfigItem { Name = "ID", Value = node.NodeID, Mode = ParameterMode.Raw });
node.CustomAttributes.Add(new ConfigItem { Name = "Name", Value = string.Format("Name - {0}", node.NodeID), Mode = ParameterMode.Value });
node.CustomAttributes.Add(new ConfigItem { Name = "LastName", Value = string.Format("Last Name - {0}", node.NodeID), Mode = ParameterMode.Value });
nodes.Add(node);
}
return new StoreResult { Data = nodes.ToJson() };
}
}
}
Last edited by RCN; Feb 11, 2015 at 1:23 PM.