Dec 17, 2015, 12:21 PM
[CLOSED] TreePanel breaks when reloaded
In example below, note that if you scroll down to the middle of the panel and press reload is presented a blank part before the reloaded nodes.
View:
View:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<!DOCTYPE html>
<html>
<head id="Head1" runat="server">
<script type="text/javascript">
var Reload = function () {
App._trp.getRootNode().reload();
}
</script>
</head>
<body>
<ext:ResourceManager ScriptMode="Debug" runat="server" Theme="Neptune" />
<ext:TreePanel ID="_trp" RootVisible="false" Title="Ext.Net" Margin="10" Border="true" Height="500" Width="500" runat="server">
<Buttons>
<ext:Button Text="Reload" runat="server">
<Listeners>
<Click Handler="Reload();" />
</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>
Controller: public class ExampleController : System.Web.Mvc.Controller
{
public ActionResult Index()
{
return View();
}
public StoreResult LoadTreeFakeChildren(int? parentID)
{
var nodes = new NodeCollection(false);
for (int index = 1; index < 100; index++)
{
var 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() };
}
}
Wrong behavior:
Last edited by Daniil; Dec 19, 2015 at 9:39 AM.
Reason: [CLOSED]