Feb 19, 2015, 3:35 PM
[OPEN] [#736] TreeStore - Local Sort
On the following sample, click on
The record was added but local sort was not performed as expected (line 16).
On version 2.x, it works as expected.
Note: to run the example on version 2.x it's necessary to rename
Thanks in advance.
Add Record
button.The record was added but local sort was not performed as expected (line 16).
On version 2.x, it works as expected.
Note: to run the example on version 2.x it's necessary to rename
JsonReader's RootProperty
to Root
.Thanks in advance.
<!DOCTYPE html>
<html>
<head runat="server">
<script type="text/javascript">
var addRecord = function () {
var record = { id: 99, ID: 99, Name: 'AAAA', LastName: 'BBBB' };
var rootNode = App._trp.getRootNode();
var node = rootNode.createNode(record);
node.internalId = record.ID.toString();
node = rootNode.appendChild(record, false, true);
node.set('leaf', true);
App._str.sort();
}
</script>
</head>
<body>
<ext:ResourceManager Theme="Gray" runat="server" />
<ext:TreePanel ID="_trp" RootVisible="false" Title="Ext.Net" Border="true" Height="220" Width="300" runat="server">
<Store>
<ext:TreeStore ID="_str" RemoteSort="false" runat="server">
<Sorters>
<ext:DataSorter Property="Name" Direction="ASC" />
</Sorters>
<Proxy>
<ext:AjaxProxy Url="~/Example/LoadTreeFakeChildren">
<Reader>
<ext:JsonReader RootProperty="data" />
</Reader>
</ext:AjaxProxy>
</Proxy>
<Model>
<ext:Model runat="server">
<Fields>
<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:TreeColumn Text="Name" DataIndex="Name" Flex="2" runat="server" />
<ext:Column Text="LastName" DataIndex="LastName" runat="server" />
</Columns>
</ColumnModel>
<View>
<ext:TreeView DeferEmptyText="false" />
</View>
<Buttons>
<ext:Button Text="Add Record" runat="server">
<Listeners>
<Click Handler="addRecord();" />
</Listeners>
</ext:Button>
</Buttons>
</ext:TreePanel>
</body>
</html>
namespace SandBox.Controllers
{
public class ExampleController : System.Web.Mvc.Controller
{
public ActionResult Index()
{
return View();
}
public StoreResult LoadTreeFakeChildren()
{
NodeCollection nodes = new NodeCollection(false);
for (int index = 1; index < 6; index++)
{
Node no = new Node();
no.NodeID = index.ToString() + DateTime.Now.Second;
no.CustomAttributes.Add(new ConfigItem { Name = "Name", Value = string.Format("Name - {0}", no.NodeID), Mode = ParameterMode.Value });
no.CustomAttributes.Add(new ConfigItem { Name = "LastName", Value = string.Format("Last Name - {0}", no.NodeID), Mode = ParameterMode.Value });
nodes.Add(no);
}
return new StoreResult { Data = nodes.ToJson() };
}
}
}
Last edited by Daniil; Feb 26, 2015 at 5:57 AM.
Reason: [OPEN] [#736]