[CLOSED] Grid is loading records when performing initial sort

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1

    [CLOSED] Grid is loading records when performing initial sort

    On version 2.x, When there is no record loaded into the grid, it's possible to sort it without firing grid's load.



    But on version 3.1, it's firing grid's load when performing initial sort.

    Side effect: In my scenario, presented here as simple as possible, some validations are performed before grid's load, and if returns false, there is no visual effect when user performs initial sorting.

    Thanks in advance
    <!DOCTYPE html>
    <html>
    <head id="Head1" runat="server">
        <script type="text/javascript">
            var DoLoad = function () {
                App._str.allowLoad = true;
    
                App._str.loadPage(1);
            }
    
            var BeforeLoad = function () {
                return App._str.allowLoad;
            }
        </script>
    </head>
    <body>
        <ext:ResourceManager runat="server" />
        <ext:Button Text="Load" runat="server">
            <Listeners>
                <Click Handler="DoLoad();" />
            </Listeners>
        </ext:Button>
        <br />
        <ext:GridPanel Title="Ext.Net" Frame="false" Width="500" Height="500" runat="server">
            <Store>
                <ext:Store AutoLoad="false" ID="_str" RemoteSort="true" runat="server">
                    <Listeners>
                        <BeforeLoad Handler="return BeforeLoad();" />
                    </Listeners>
                    <CustomConfig>
                        <ext:ConfigItem Name="allowLoad" Value="false" Mode="Raw" />
                    </CustomConfig>
                    <Sorters>
                        <ext:DataSorter Property="ID" Direction="ASC" />
                    </Sorters>
                    <Proxy>
                        <ext:AjaxProxy Url="~/Example/LoadFakeRecords/">
                            <ActionMethods Read="POST" />
                            <Reader>
                                <ext:JsonReader RootProperty="data" />
                            </Reader>
                        </ext:AjaxProxy>
                    </Proxy>
                    <Model>
                        <ext:Model IDProperty="ID" runat="server">
                            <Fields>
                                <ext:ModelField Name="ID" Type="int" />
                                <ext:ModelField Name="Name" Type="String" />
                                <ext:ModelField Name="LastName" Type="String" />
                                <ext:ModelField Name="Address" Type="String" />
                            </Fields>
                        </ext:Model>
                    </Model>
                </ext:Store>
            </Store>
            <ColumnModel runat="server">
                <Columns>
                    <ext:Column Text="ID" DataIndex="ID" runat="server" />
                    <ext:Column Text="Name" Flex="1" DataIndex="Name" runat="server" />
                    <ext:Column Text="Last Name" DataIndex="LastName" runat="server" />
                    <ext:Column Text="Address" DataIndex="Address" runat="server" />
                </Columns>
            </ColumnModel>
        </ext:GridPanel>
    </body>
    </html>
    namespace SandBox.Controllers
    {
        public class ExampleController : System.Web.Mvc.Controller
        {
            public ActionResult Index()
            {
                return View();
            }
    
            public StoreResult LoadFakeRecords()
            {
                List<Entity> lst = new List<Entity>();
    
                for (int index = 0; index < 15; index++)
                {
                    lst.Add(new Entity
                    {
                        ID = index,
                        Name = string.Format("Name - {0}", index),
                        LastName = string.Format("Last Name - {0}", index),
                        Address = string.Format("Address - {0}", index)
                    });
                }
    
                return new StoreResult(lst, lst.Count());
            }
        }
    
        [Serializable]
        public class Entity
        {
            public int ID { get; set; }
    
            public string Name { get; set; }
    
            public string LastName { get; set; }
    
            public string Address { get; set; }
        }
    }
    Attached Thumbnails Click image for larger version. 

Name:	ds001.png 
Views:	14 
Size:	4.6 KB 
ID:	19851  
    Last edited by Daniil; Feb 02, 2015 at 5:11 AM. Reason: [CLOSED]

Similar Threads

  1. Replies: 2
    Last Post: Oct 27, 2014, 5:24 AM
  2. Replies: 7
    Last Post: Jan 23, 2013, 4:36 PM
  3. Replies: 3
    Last Post: Sep 13, 2012, 8:52 AM
  4. [ Initial Page Start Loading (Mask Load) ]
    By iDevSEO in forum 1.x Help
    Replies: 2
    Last Post: Dec 29, 2011, 1:15 PM
  5. [CLOSED] Inserted records dissapear after local sort operation
    By pschojer in forum 1.x Legacy Premium Help
    Replies: 3
    Last Post: Apr 23, 2010, 5:00 AM

Posting Permissions